Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL日期转换获取";无效数字“;_Sql_Oracle_Date_Timestamp - Fatal编程技术网

SQL日期转换获取";无效数字“;

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

您好,我在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_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'
)