SQL中 將指定條件的整列更新

2023-03-24 09:20:07 字數 1775 閱讀 6210

1樓:

--相差一個小時?

--是快一小時。

declare @d char(15)

set @d='20091028101011'

select replace(replace(replace(convert(varchar(19),dateadd(hh,-1,stuff(stuff(stuff(@d,9,0,' 12,0,':15,0,':120),'

update table1

set recordtime =replace(replace(replace(convert(varchar(19),dateadd(hh,-1,stuff(stuff(stuff(recordtime,9,0,' 12,0,':15,0,':120),'

where left(recordtime,8)='20091028'--條件。

--還是慢一小時。

select replace(replace(replace(convert(varchar(19),dateadd(hh,1,stuff(stuff(stuff(@d,9,0,' 12,0,':15,0,':120),'

--update

update table1

set recordtime =replace(replace(replace(convert(varchar(19),dateadd(hh,1,stuff(stuff(stuff(recordtime,9,0,' 12,0,':15,0,':120),'

where left(recordtime,8)='20091028'--條件。

2樓:匿名使用者

int(recordtime)可以轉化成int型別。

再加上10000

再轉換成char型別。

要用到 cast 和 convert函式。

你試試吧。

3樓:

先把20091028101011這個to_date,再使用add_months函式。

add_months(to_date('20091028101011','yyyymmddhh24miss'),1)

不知道你這個差是加是減。加的話就是1,減的話就是-1

sql中的update如何根據不同條件修改多條資料的同一列

4樓:好學者百科

如果只需要更新一個欄位,mysql和oracle語法是一樣的,在 set 後面跟一個子查詢即可。

現在需要同時更新2個欄位,最不經過大腦思考的方法就是 「為每個 set 後面都跟一個子查詢」,但是假如要 set 十個欄位或者更多欄位戚孫,很顯然,這樣在效能上是很不合適的方法。

同時更新多個欄位在mysql和oracle中的方法是不一樣,mysql需要連線表,oracle使用 set(..即可。

sql中的update如何根據不同條件修改多條資料的同一列 10

5樓:匿名使用者

可以啊修改where條件。

update abc set a=1 where id=1 or id=2

你給的例句有問題啊,表名abc,後面寫的是。

一條資料指定欄位更新sql語句怎麼寫

update 表名 抄 set 列名 更新的值 where 條件如 update table1 set name jj where id 1 如果要更新多列,只要update table1 set fristname jj lastname tt where id 1 uedate 表名 set 列...

同段根據不同條件更新的sql語句怎麼寫

沒太明白你的需求 比如,版 這樣?權 update ta set col1 select case tb.a 1000 then 1 else 0 end from tb where ta.id tb.aid where update tablename set col decode sql語句更新...

如何在excel中將一列中滿足條件的資料相加

c1輸入 sumif a a,1111,b b sumif a a,4444,b b 若你的1111或4444代表字元,公式中這部分 雙引號如 sumif a a,字元 b b sumif a a,4444,b b 不知道資料量大不大,可能習慣不一樣。建議 在c列用if選擇將符合條件的先選出來。c1...