Oracle SQL TO_DATE-两种日期格式



我正在尝试将几个日期更新到月底。但是,我的表有两种不同的日期格式("DD-MON-YY"one_answers"YYYYMMDD"(。如何在更新声明中更新两个日期?另外,我希望新的日期是YYYYMMDD格式。

Update MY_TABLE
set MY_DATE = TO_CHAR(LAST_DAY(TO_DATE(MY_DATE,'DD-MON-YY')),'YYYYMMDD');

正如David在评论中指出的;真实的";这里的解决方案是添加一个date列并使用它。如果这不是一个选项,您可以根据-字符的存在来区分旧数据和新数据:

UPDATE my_table
SET    my_date = 
TO_CHAR(LAST_DAY(TO_DATE(my_date, CASE WHEN my_date LIKE '%-%' 
THEN 'DD-MON-YY'
ELSE 'YYYYMMDD' 
END)),
'YYYYMMDD')

相关内容

  • 没有找到相关文章

最新更新