SQL例的用法

    <>

    ——简单情况函数

    案例性

    ,当' 1 ' '男'

    ,当' 2 ' '女'

    ,其他的其他'末端


    ——案例搜索函数

    这样当性=' 1 '那么'男'

    ,,当性=' 2 '然后'女'

    ,,其他的其他的结束,



这两种方式,可以实现相同的功能。简单情况函数的写法相对比较简洁,但是和案件搜索函数相比,功能方面会有些限制,比如写判定式。

还有一个需要注重的问题,情况函数只返回第一个符合条件的值,剩下的案例部分将会被自动忽略。

比如说,下面这段sql,你永远无法得到第“二”类这个结果:


案例col_1时(“a”、“b”),那么“第一类“
,,当col_1 (a),那么“第二类“
,,其他的其他的结束,

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


2。批量更新数据

——假设状态只有3个选项,把所有FStatus=3的更新为1,FStatus=88的更新为5,FStatus=99的更新为9,

更新T_SUF_Barcode设置FStatus=(案例FStatus

,,,,,,,,,,,,,,,,,,,,,当' 3 '然后' 1 ',

,当“88”“55”

,其他FStatus,结束),

,,,FBarcode,“180121702150001”与“180121702153000”

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


3。将条码表中的状态用中文表示


选择fstatus得到T_SUF_Barcode t1,在那里,FBarcode,“180121702150001”与“180121702153000”

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

fstatus 1

5…

5 9

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


选择t1。FBarcode(案例t1.FStatus

,,,,,,,,,然后,当1”正常的

,,,,,,,,,然后,当5”未知”

,,,,,,,,,然后,当9”作废”结束)状态

,从T_SUF_Barcode t1

,,,FBarcode,“180121702150001”与“180121702153000”


FBarcode状态

180121702150001正常

180121702150002…

180121702150002

180121702150004…

180121702150004作废

180121702150012…




4。将和与案件结合使用,可以实现分段统计。
,,,,如果现在希望将上表中各种状态的条码进行统计,sql语句如下:


,选择,sum (t1。FStatus当1 1,结束)正常,

,,sum (t1。FStatus当5 2,结束)未知,

,sum(情况下,当t1。FStatus !=1, t1.FStatus !=5 1,结束)作废

从T_SUF_Barcode t1,,,FBarcode,“180121702150001”与“180121702153000”


——求总和和,当为5时,更新为2,并求和符合条件的2。这里正常,未知,作废符合条件的各有1000个数据。


正常未知,,,,,作废

1000 2000 (1000 * 2),1000年,


,,,,,,,,- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

,,

,选择,计数(t1。FStatus当1 1,结束)正常,

,,计数(t1。FStatus当5 1,结束)未知,

,计数(情况下,当t1。FStatus !=1, t1.FStatus !=5 1,结束)作废

从T_SUF_Barcode t1,,,FBarcode,“180121702150001”与“180121702153000”


——统计符合条件的个数。


正常未知作废

1000 1000 1000


SQL例的用法