从SQL Server转换为REDSHIFT的功能

时间:2019-01-02 12:14:11

标签: amazon-redshift

这是SQL Server中的代码;我需要将其转换为redshift

convert(decimal, LEFT(convert(varchar, dateadd(month, 3, convert(datetime, convert(varchar, Column_name))), 112), 6))

有帮助吗?

1 个答案:

答案 0 :(得分:0)

您可以通过将convert(varchar函数替换为TO_CHAR并将输出格式指定为'YYYMMDD'来进行转换:

-- SQL Server original
convert(decimal, LEFT(convert(varchar, dateadd(month, 3, convert(datetime, convert(varchar, Column_name))), 112     ), 6))
-- Redshift version
convert(decimal, LEFT( TO_CHAR(        dateadd(month, 3, convert(datetime, convert(varchar, '20190102'))), 'YYYMMDD'), 6))
-- Output: 19040

原始版本将CONVERTSQL Server specific 3rd parameter 112 to convert the date to the format of YYYYMMDD.一起使用,而Redshift等效项是TO_CHAR