我需要在ORACLE SQL Developer
中转换日期格式当前格式为yyyy / mm / dd-hh:mm:ss:sss我需要将其转换为yyyy-mm-dd hh:mm:ss CST 我真的不知道SQL,但做了一些研究。 这是我在论坛上咨询其他人的命令。但它让我无法识别命令错误。表名是B,列名是First
UPDATAE B
set First = concat(to_char(substring(FIRST,1,4) + '-' + substring(FIRST, 6, 2) + '-' + substring(FIRST, 9, 2) + ' ' + substring(FIRST, 12, 8));
有人可以帮我吗?提前谢谢。
答案 0 :(得分:1)
“无法识别的命令”仅仅是UPDATE
:
UPDATAE B
// Should be
UPDATE B
要在执行UPDATE
语句之前验证结果是您所期望的,请使用SELECT
:
SELECT
to_char(substr(FIRST,1,4) || '-' || substr(FIRST, 6, 2) || '-' || substr(FIRST, 9, 2) || ' ' || substr(FIRST, 12, 8)) AS Test
FROM B
答案 1 :(得分:0)
你想约会操作吗?使用to_date
和to_char
。我将假设这个ss:sss
表示秒,然后是小数秒。您的日期似乎是一个字符串,因此我们需要将其转换两次:
update b
set first = to_char( to_date( my_date, 'yyyy/mm/dd-hh:mi:ss:ff3')
,'yyyy-mm-dd hh:mi:ss' )
通常情况下,使用日期时,仅使用date functions和提供的formats要容易得多。
如果您有日期,请将其存储为日期。它会在以后节省一个麻烦的世界。