Sql 在Teradata中将日期转换为字符串

Sql 在Teradata中将日期转换为字符串,sql,casting,teradata,Sql,Casting,Teradata,我正在尝试将日期转换为Teradata中的字符串。我在互联网上发现可以这样做: SELECT TO_CHAR(CURRENT_DATE, 'YYYYMMDD') 但这会返回一个错误: SELECT Failed. 3706: Syntax error: expected something between '(' and the 'CURRENT_DATE' keyword. 如果我在另一个我有权访问的Teradata数据库上运行完全相同的命令,它就可以正常工作。我怀疑这一定是关于Terad

我正在尝试将日期转换为Teradata中的字符串。我在互联网上发现可以这样做:

SELECT TO_CHAR(CURRENT_DATE, 'YYYYMMDD')
但这会返回一个错误:

SELECT Failed. 3706: Syntax error: expected something between '(' and the 'CURRENT_DATE'
keyword.
如果我在另一个我有权访问的Teradata数据库上运行完全相同的命令,它就可以正常工作。我怀疑这一定是关于Teradata的版本,或者类似的东西


还有其他方法吗?

我不知道为什么会出现此错误,但您也可以使用此方法执行所需操作:

CURRENT_DATE(FORMAT 'YYYYMMDD') (CHAR(8))

我不知道您为什么会出现此错误,但您也可以根据需要执行以下操作:

CURRENT_DATE(FORMAT 'YYYYMMDD') (CHAR(8))

这对我来说很好…@Andrew我已经用我刚刚注意到的东西更新了这个问题。如果我在另一个Teradata数据库上运行完全相同的查询,它工作得很好。第一个数据库中运行的Teradata版本可能有问题?请查看两个不同系统上当前返回的日期可能是什么?您可能有一个非常旧的Teradata版本(检查
dbc.dbcInfo
)它不支持
到_CHAR
。对我来说运行得很好…@Andrew我已经用我刚刚注意到的东西更新了这个问题。如果我在另一个Teradata数据库上运行完全相同的查询,它工作得很好。第一个数据库中运行的Teradata版本可能有问题?请查看两个不同系统上当前的\u date返回的可能是什么?您可能有一个非常旧的Teradata版本(检查
dbc.dbcInfo
),它不支持
到\u CHAR
。返回“2019年5月15日”,因此,它似乎仍然是一个日期而不是字符串。稍微短一点:
TRIM(当前日期(格式'YYYYMMDD'))
返回'2019年5月15日',因此它似乎仍然是一个日期而不是字符串。稍微短一点:
TRIM(当前日期(格式'YYYYMMDD'))