我有时间戳列:
MAX_LOAD_DATE_TS TIMESTAMP(6)
我的load_dates
在date
和time
之间使用T格式化。
2014-07-02T10:46:22
有没有办法在oracle上将其转换为合法timestamp
?
答案 0 :(得分:3)
如果双重引用,您可以在格式字符串中嵌入文字:
select to_timestamp('2014-07-02T10:46:22', 'YYYY-MM-DD"T"HH24:MI:SS') from dual;
TO_TIMESTAMP('2014-07-02T10:46:22','YYYY-MM-DD"T"HH24:MI:SS')
-------------------------------------------------------------
02-JUL-14 10.46.22.000000000
适用于to_date()
以及to_timestamp()
,而to_char()
则适用于其他方式。
日期时间格式模型中的标点符号和字符文字
您可以在日期格式模型中包含这些字符:
- 连字符,斜线,逗号,句号和冒号等标点符号
- 字符文字,用双引号括起来
这些字符出现在与其相同位置的返回值中 它们出现在格式模型中。
答案 1 :(得分:1)
您可以使用相应的格式字符串以及CAST函数,如下所示:
SELECT
CAST(TO_DATE('2014-07-02T10:46:22', 'YYYY-MM-DD"T"HH24:MI:SS') AS TIMESTAMP(6)) AS timestamp_value
FROM table;