在
最好的方法是批量修改,即每次修改5000條(一次修改不要超過一萬條,否則影響性能).
儘管在11g中我們可以使用merge指令,但最好先進行部分修改和影響評估,因為在生產環境中這樣的操作具有較大風險。
若誤操作發生,最好請DBA恢復。雖會受責備,但總比錯上加錯,失去挽回機會更糟。
如果對這些修改真的有信心,而只是從效能考慮,那可以用下面的方法(pk_col 是表的主鍵):
merge into xxx aa
using (select pk_col from xxx) bb
on (aa.pk_col=bb.pk_col)
when matched then
update set aa.datatype=66 where aa.datatype is null;
先去空白再替換。如果那個空白是空格就好辦,用函數rtrim,ltrim去空格,如果不是空格
你把sql裡的資料貼到記事本裡,然後再sql的查詢分析器裡輸入
select ascii(' 那個空白字元')得到這個空白的ascii碼,接著
update表名 set 欄位名=replace(字段名,char(剛剛得到ascii碼),'')
把空白都去掉之後用你那個語句就可以了。
還有一種本辦法,就是把所有的空白的可能都寫一次,例如回車是char(13),換行是char(10)等等你就update表名set 字段名=replace(字段名,char(10),'') ,
把所有可能都替換了,就那幾種是空白,情況也不是很多
update yourTable set RECTIME = dateadd(yy,2,RECTIME)
解釋:select dateadd(yy,3,getdate())
DATEADD ( datepart , number, date )
參數
datepart
是規定應向日期的哪一部分傳回新值的參數。下表列出了 Microsoft® SQL Server™ 識別的日期部分和縮寫。
日期部分 縮寫
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms
以上是SQL中,如何批次更新表中特定資料欄位的某一部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!