CONVERT 函数从 SQL Server 到 REDSHIFT
Posted
技术标签:
【中文标题】CONVERT 函数从 SQL Server 到 REDSHIFT【英文标题】:CONVERT function from SQL Server to REDSHIFT 【发布时间】:2019-01-02 12:14:10 【问题描述】:这是来自 SQL Server 的代码;我需要把它转换成红移
convert(decimal, LEFT(convert(varchar, dateadd(month, 3, convert(datetime, convert(varchar, Column_name))), 112), 6))
有什么帮助吗?
【问题讨论】:
请举例说明源值和目标值是什么(编辑您的问题) 【参考方案1】:您可以通过将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
原始使用CONVERT
和SQL Server specific 3rd parameter 112
to convert the date to the format of YYYYMMDD
. Redshift 等效为TO_CHAR
。
【讨论】:
以上是关于CONVERT 函数从 SQL Server 到 REDSHIFT的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server中时间格式转换函数convert()的使用
SQL Server 时间函数---CONVERT() 函数