Teradata 不接受格式化

Teradata not accepting formatting

我刚刚开始使用 Teradata。我在 Windows 10 1909 使用 Teradata Studio Express 17.00.12.00.202012260107。格式化似乎根本不起作用。测试代码:

SELECT 'ABCDE' (FORMAT 'XXX') AS Shorter ,121.53 (FORMAT '99999') AS Fmt_121 ,121.53 ,991001(date) (FORMAT 'MM/dd/Yy') AS Fmt_NumDate ,991001(date) (FORMAT 'mmmbdd,byyyy') AS Fmt_Date

运行 它在“SQL 编辑器”window 中,但输出根本没有格式化:

应该是:

FORMAT 很旧,它是为 BTEQ 中的导入和报告而实现的。在BTEQ/CLI中它只在返回报告格式的数据之前应用,其他客户端忽略它。

您可以显式转换为字符串,或隐式使用:

SELECT  trim('ABCDE' (FORMAT 'XXX')) AS Shorter
  ,trim(121.53 (FORMAT '99999')) AS Fmt_121
  ,121.53
  ,trim(991001(date) (FORMAT 'MM/dd/Yy')) AS Fmt_NumDate
  ,trim(991001(date) (FORMAT 'mmmbdd,byyyy')) AS Fmt_Date

但我更喜欢 TO_CHAR 数字和日期时间:

SELECT substring('ABCDE' from 1 for 3) AS Shorter
  ,to_char(121.53, '09999') AS Fmt_121
  ,121.53
  ,to_char(date '1999-10-01', 'MM/dd/Yy') AS Fmt_NumDate
  ,to_char(date '1999-10-01', 'MON dd, yyyy') AS Fmt_Date

我还添加了推荐的日期书写方式,作为日期文字