时间戳中的格式字符串无效
Invalid format string in timestamp
我正在尝试将一个值转换为 timestamp(0) 并插入 table。 Port_Out_END_Dttm 列是时间戳 (0)。它给我无效的格式字符串。
,MAX(coalesce(SRC.Port_Out_END_Dttm,cast('31/12/9999 00:00:00' as timestamp FORMAT 'dd/mm/yyyyBhh:mi:ss(0)') ))as Port_Out_END_Dttm
整个查询如下:
sel
,case when Port_Out_Ver_Phase_END_Dttm in cast ('12/31/9999' as date format 'MM/DD/YYYY') then null else Port_Out_Ver_Phase_END_Dttm end as Port_Out_Ver_Phase_END_Dttm
from
(
sel
,MAX(coalesce(SRC.Port_Out_END_Dttm,cast('31/12/9999 00:00:00' as timestamp FORMAT 'dd/mm/yyyyBhh:mi:ss(0)') ))as Port_Out_END_Dttm
from table
)
首先我需要将空值合并到一个高端日期,然后再次将该日期作为空值
这里有什么问题吗?
感谢您的帮助。
我觉得你的语法有点不对劲。试试这个版本:
MAX(COALESCE(SRC.Port_Out_END_Dttm,
CAST('31/12/9999 00:00:00' AS timestamp(0) FORMAT 'DD/MM/YYYYbhh:mi:ss')))
无需将硬编码字符串转换为 Date/Time/Timestamp,最好使用标准 SQL Date/Time/Timestamp 文字 :
TIMESTAMP '9999-12-31 00:00:00'
DATE '9999-12-31'
TIME '00:00:00'
MAX(COALESCE(SRC.Port_Out_END_Dttm, TIMESTAMP '9999-12-31 00:00:00'))
顺便说一句,您可能需要为文字添加时区,否则它可能基于您的会话时区:
TIMESTAMP '9999-12-31 00:00:00+00:00'
我正在尝试将一个值转换为 timestamp(0) 并插入 table。 Port_Out_END_Dttm 列是时间戳 (0)。它给我无效的格式字符串。
,MAX(coalesce(SRC.Port_Out_END_Dttm,cast('31/12/9999 00:00:00' as timestamp FORMAT 'dd/mm/yyyyBhh:mi:ss(0)') ))as Port_Out_END_Dttm
整个查询如下:
sel
,case when Port_Out_Ver_Phase_END_Dttm in cast ('12/31/9999' as date format 'MM/DD/YYYY') then null else Port_Out_Ver_Phase_END_Dttm end as Port_Out_Ver_Phase_END_Dttm
from
(
sel
,MAX(coalesce(SRC.Port_Out_END_Dttm,cast('31/12/9999 00:00:00' as timestamp FORMAT 'dd/mm/yyyyBhh:mi:ss(0)') ))as Port_Out_END_Dttm
from table
)
首先我需要将空值合并到一个高端日期,然后再次将该日期作为空值 这里有什么问题吗?
感谢您的帮助。
我觉得你的语法有点不对劲。试试这个版本:
MAX(COALESCE(SRC.Port_Out_END_Dttm,
CAST('31/12/9999 00:00:00' AS timestamp(0) FORMAT 'DD/MM/YYYYbhh:mi:ss')))
无需将硬编码字符串转换为 Date/Time/Timestamp,最好使用标准 SQL Date/Time/Timestamp 文字 :
TIMESTAMP '9999-12-31 00:00:00'
DATE '9999-12-31'
TIME '00:00:00'
MAX(COALESCE(SRC.Port_Out_END_Dttm, TIMESTAMP '9999-12-31 00:00:00'))
顺便说一句,您可能需要为文字添加时区,否则它可能基于您的会话时区:
TIMESTAMP '9999-12-31 00:00:00+00:00'