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
我还添加了推荐的日期书写方式,作为日期文字
我刚刚开始使用 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
我还添加了推荐的日期书写方式,作为日期文字