我有一个NVARCHAR列,我需要更新数据格式不同的一些行。
我需要更新条目16/MAR/16
的所有列以反映默认时间,因此只有日期只有16/MAR/16 08:00:00
选择它并不是一个真正的问题,因为下面的select语句就是这样。
select (create_date || ' 08:00:00') newdate
from table
where regexp_like(create_date, '^[0-9][0-9]\/[A-Z][A-Z][A-Z]\/[0-9][0-9]$');
返回
newdate 16/MAR/16 08:00:00
我需要知道的是,如何使用newdate 安全将select语句更改为更新/替换create_date列?
答案 0 :(得分:0)
真的很简单......
UPDATE table
SET create_date = REPLACE(create_date, create_date, create_date || ' 08:00:00')
where regexp_like(create_date, '^[0-9][0-9]\/[A-Z][A-Z][A-Z]\/[0-9][0-9]$');
至于"安全"这样做是安全的,你的选择是非常具体的,我们只是将它应用于更新。