SQL日期转换获取";无效数字“;
您好,我在SQL ORCLE中有以下日期SQL日期转换获取";无效数字“;,sql,oracle,date,timestamp,Sql,Oracle,Date,Timestamp,您好,我在SQL ORCLE中有以下日期 2020-02-07 13:21:56.478000 我希望它的格式如下: 27-JAN-20 03.00.00.000000000 AM 我在谷歌上搜索了一下,找到了to_char和to_date,然后想出了这个 (TO_TIMESTAMP(TO_CHAR('2020-02-07 13:21:56.478000','DD-MON-YY HH:MI:SS.FF')) 但我一直收到“无效号码”,甲骨文没有告诉我它在哪里。有什么想法吗?问题是to_ch
2020-02-07 13:21:56.478000
我希望它的格式如下:
27-JAN-20 03.00.00.000000000 AM
我在谷歌上搜索了一下,找到了to_char和to_date,然后想出了这个
(TO_TIMESTAMP(TO_CHAR('2020-02-07 13:21:56.478000','DD-MON-YY HH:MI:SS.FF'))
但我一直收到“无效号码”,甲骨文没有告诉我它在哪里。有什么想法吗?问题是
to_char()
需要一个类似日期的数据类型作为参数,而您要给它一个字符串
如果处理的是文字字符串,则使用日期文字语法:
to_char(
timestamp '2020-02-07 13:21:56.478000',
'DD-MON-YY HH:MI:SS.FF AM'
)
如果处理的是字符串列,则可以首先使用to_timestamp()
将其转换为时间戳:
最后,如果您处理的是时间戳
列,则可以直接使用to_char()
:
to_char(my_date_col, 'DD-MON-YY HH:MI:SS.FF AM')
注意:您的原始格式修改器缺少
AM/PM
部分,我添加了它。使用以下方法
to_char(
timestamp '2020-02-07 13:21:56.478000',
'DD-MON-YY HH:MI:SS.FF'
)
to_char
获取一些尚未成为字符串的内容,如日期或数字,并将其转换为字符串。to_char
字符串是没有意义的。这就像在数字上使用to_number
,或在日期上使用to_date
。
to_char(
timestamp '2020-02-07 13:21:56.478000',
'DD-MON-YY HH:MI:SS.FF'
)