sql 更新語句update 效率問題

2022-02-26 23:30:28 字數 1405 閱讀 8545

1樓:匿名使用者

--這樣就是替換的了。

--@update_yearnew 引數為要變成的新日期年份

--@update_yearold 引數為舊日期年份

declare @update_yearnew as int,@update_yearold as int

set @update_yearnew=2008 --設定要更改的新日期

set @update_yearold=2007 --設定要更改的舊年份

update log set time=dateadd(yeay@update_yearnew-@update_yearold,time) where year(time)=@update_year

2樓:匿名使用者

update [表名] set [時間欄位]=dateadd(year,1,[時間欄位])

where datepart(year,[時間欄位])=2007間思是將表中年份為2007的改為2023年的也就是將年份改為2008,其它不變.

用於你的語句是:

update log set [time] = dateadd(year,1,[time])

where datepart(year,[time])=2007

3樓:匿名使用者

update log

set [time] = dateadd(yyyy,1,[time])

where year([time])= '2007'

4樓:匿名使用者

update log set [time] = dateadd(y,1,[time]) where year(time)='2007'

5樓:匿名使用者

用的oracle的話

update log

set time = add_months(time,12)where time >= 2007/1/1and time < 2008/1/1

6樓:匿名使用者

樓主意思就是說只改年份,也就是前面的四個數字吧.最簡單的寫法:

update log set left('time',4)='2008'

sql update語句問題,條件滿足就更新某欄位,不滿足就不更新。

7樓:d調的聰

update 表名 set b = '00' where a ='0' and b <>'00'

update 表名 set c = '000' where a ='0' and c ='111'

請問下update set select 以下sql語句能否優化下,執行效率如何;

sql更新語句若某欄位為空則更新此欄位否則不更新

mysql的寫法,其他資料庫同理,只有當前時間的引數不同 update test set endtime now where endtime is null update test set stoptime getdate where select count from testwhere id s...

sql中update語句新增表中資料時,表名是變數,語句要怎

使用exec sql語句 例 使用變數拼接sql語句,然後用exec執行declare table varchar 200 declare sql varchar 200 set table aaa set sql select from tableexec sql 例中的變數 table 即傳遞表...

刪除表內所有資料效率最高的語句,用SQL語句怎麼刪除表中的所有資料?

truncate table 表名 速度快,而且效率高,因為 truncate table 在功能上與不帶 where 子句的 delete 語句相同 二者均刪除表中的全部行。但 truncate table 比 delete 速度快,且使用的系統和事務日誌資源少。delete 語句每次刪除一行,並...