1. 程式人生 > >mysql case when 的坑

mysql case when 的坑

語句一

UPDATE categories SET 
display_order = CASE id 
        WHEN 1 THEN 3 
        WHEN 2 THEN 4 
        WHEN 3 THEN 5 
END;

語句二

UPDATE categories SET 
display_order = CASE id 
        WHEN 1 THEN 3 
        WHEN 2 THEN 4 
        WHEN 3 THEN 5 
END
WHERE id IN (1,2,3);

請問 語句一 其餘的id 的 display_order 值會是多少

如果有where 會保證只執行 id1 2 3的
如果沒有where 其他的id 的 display_order 都將會初始化為 null

相關推薦

mysql case when

語句一 UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4

mysql case when & concat & SUBSTRING_INDEX & not & having 使用的小case

logs war rom sub 獲取 () then 來源 ted 1. 代碼 SELECT a.id, a.activity_name, ( CASE WHEN a.activity_end_time >

Mysql Case when

body ali 什麽事 nio key 維表 相對 單純 popu Case具有兩種格式。簡單Case函數和Case搜索函數。 --簡單Case函數 CASE sex WHEN ‘1‘ THEN ‘男‘ WHEN ‘2‘ THEN ‘女‘ELSE ‘其他‘ E

Mysql case when(條件判斷) 簡單用法

在編寫 sql 語句時,我們可能需要對欄位值進行判斷,比如 null 值將結果賦值為 0 等,這樣就不要在程式碼中再進行迴圈判斷了. 比如這張單表,我們需要在查詢結果中將 name 為 '大彬' 的值重新定義了 '角色1',將不是 '大彬' 的值定義為 角色2 ,status = 1 定義

Mysql case when end 的巧妙使用

SELECT m.template_id template_id, nvl(m.fixed_fee,0) fixed_fee,

Mysql case when then操作

表資料: 按天分型別統計資金總量: SELECT dt,SUM(hold_amt_day), SUM(CASE WHEN `type`=1 THEN hold_amt_day END) AS a1,  SUM(CASE WHEN `type`=2 THEN hold_

mysql case when語句

表的建立   CREATE TABLE `lee` ( `id` int(10) NOT NULL AUTO_INCREMENT,  `name` char(20) DEFAULT NULL,  `birthday` datetime DEFAULT NULL,

MySQL-case when語句

適用的地方 可以配合select工作, 把一列的取值根據不同的條件進行翻譯 類似於 java 中的if else if 語法: case when 條件1 then 結果1 when 條件2 then 結果2 ... else 結果n end 舉例

mysql case when記錄

小記 當type=8時,startname從users表獲取,當type=13時,startname從warehouse表獲取 $sql = 'select id,start, type, (case when type = ? THEN

mysql case when多條件同時滿足的多個and組合巢狀的情況,判斷空is null --- 系列一

case when不支援下面2這種寫法(我已經測試過了,大俠如有好辦法,麻煩分享): 情況1:未加括號 select wf.fid id, CASE WHEN wf.Fstep = 1 AND wf.Fstatus = 'Reject' and wf.Fope

mysqlmysql case when實現不同條件查詢

程式碼示例 SELECT SUM(CASE WHEN e.cost_audit_type = 1 AND date_format(e.cost_audit_time, '%Y-%m') = '2

Mysql CASE WHEN 用法

select sum(1) as col_0_0_, sum(case vciinfo.useable when -1 then 1 else 0 end) as col_1_0_, sum(case when vciinfo.activatetime is null then 0 else 1 end) a

mysql CASE WHEN的用法

case when 自定義排序時的使用 根據 case when 新的 sort欄位排序 case when t2.status = 4 and t2.expire_time>UNIX_TIMESTAMP() and t2.expire_

mysql case when update

需求是根據某個欄位的值不同,修改相對應的另一個欄位,於是就用到了mysql的case when,在此記錄一下。隱私起見隨便修改了表名和欄位名。 有種簡單的情況是隻需要判斷某個欄位的值就可以確定另一個欄

mysql---case when...then...else...end

select (case when price_input is null then price else price_input end)  price from coin_price wher

MySql case when then 同表多連線 時間判斷 sql語句

SELECT info.uuid AS carUuid, info.vehicle_plate_number AS carNumber, obd.device_id AS obdDeviceId, //null替換為0 COALESCE(obd.speed,0) AS obdSpeed, obd.updat

mysql case when多條件同時滿足的多個and組合巢狀的情況,判斷空is null --- 系列二

方法一: SELECT id, time, type, CASE when (reason is null or reason = '') and type = '駁回' THEN '未填寫駁回理由' ELSE reason END reason from wo

mysql case when函式

需求 現有美食的標籤30個,要按照指定的規則重新打標籤。舉例如下 漢堡薯條 二級 異國料理-西式快餐 漢堡麵包 二級 異國料理-西式快餐 法意牛排 二級 異國料理-西式快餐 炸雞漢堡 二級

mysql case when 統計某欄位不同值的數量

SELECT COACH_NAME, sum(CASE WHEN STATE = 0 THEN 1 ELSE 0 END) AS '0',    sum (CASE WHEN STATE = 1 THEN 1 ELSE 0 END) AS '1',  

【sql技巧】mysql修改時,動態指定要修改的字段 update `table` set (case when ....) = 1 where id = xx

幫助 ase stack pan 希望 需求 記錄 開始 lec 如果你點進了這篇帖子,那麽你一定遇到了跟我一樣的問題。別看題目的set case when...,我一開始也是第一反應是用case when但是發現並不好使。 問題呢,說得高大上一點:動態指定要修改的字段。