日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

存储过程里面的CASE,WHEN,THEN的用法

發布時間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 存储过程里面的CASE,WHEN,THEN的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法1:CASE
WHEN 條件1 THEN 結果1
WHEN 條件2 THEN 結果2
...
WHEN 條件i THEN 結果i
ELSE 默認結果END方法2:
CASE 字段/變量
WHEN 值1 THEN 結果1
WHEN 值2 THEN 結果1
...
WHEN 值i THEN 結果1
ELSE 默認結果
END
用法:比如查詢:SELECT 字段1,(CASE ... END) FROM 表WHERE 字段1 = (CASE ... END)

SQL中的case when使用小例

用一個SQL語句完成以下查詢,從book表中查詢出price,當price在10到20之間(包含10和20)時返回“10 to 20”,當price為空返回“Unknown”,其他情況返回原price的值(群碩招聘)

  • select????
  • case???
  • ????when?CONVERT(int,?price)>=10?and?CONVERT(int,?price)<=20?then?'10?to?20'??
  • ????when?price?is?null?then?'Unknown'??
  • ????else?price??
  • end?as?myPrice??
  • from?Book
  • 或:

    ??????

  • select??'myPrice'=??
  • case???
  • ????when?CONVERT(int,?price)>=10?and?CONVERT(int,?price)<=30?then?'10?to?20'??
  • ????when?price?is?null?then?'Unknown'??
  • ????else?price??
  • end???
  • from?Book?
  • CASE和IF的區別:?
    在高級語言中,CASE的可以用IF來替代,但是在SQL中不行。
    CASE是SQL標準定義的,IF是數據庫系統的擴展。
    CASE可以用于SQL語句和SQL存儲過程、觸發器,IF只能用于存儲過程和觸發器。

    在SQL SERVER中,cast和convert函數都可用于類型轉換,其功能是相同的,只是語法不同.cast一般更容易使用,convert的優點是可以格式化日期和數值.
    select CAST('123.4' as int)
    select CONVERT(int, '123.4')
    -- Conversion failed when converting the varchar value '123.4' to data type int.

    ?

    https://zhidao.baidu.com/question/538305979.html

    http://www.cnblogs.com/szhx/archive/2013/05/07/3219332.html

    ?

    轉載于:https://www.cnblogs.com/Ly426/p/6727955.html

    總結

    以上是生活随笔為你收集整理的存储过程里面的CASE,WHEN,THEN的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。