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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

sql server 之函数小技巧 整数类型为空是用空字符串替代实现

發布時間:2023/12/9 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql server 之函数小技巧 整数类型为空是用空字符串替代实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、判空函數

說明:使用指定的替換值替換 NULL。

語法:ISNULL ( check_expression , replacement_value )

參數:

check_expression:將被檢查是否為 NULL 的表達式。check_expression 可以為任何類型。

replacement_value:當 check_expression 為 NULL 時要返回的表達式。replacement_value 必須是可以隱式轉換為 check_expresssion 類型的類型。

返回值:返回與 check_expression 相同的類型。

注釋:如果 check_expression 不為 NULL,則返回它的值;否則,在將 replacement_value 隱式轉換為 check_expression 的類型(如果這兩個類型不同)后,則返回前者。

實例:

加入int類型的Flag1為一,則用0代替它的值

ISNULL(Flag1,0) //加入int類型的Flag1為一,則用0代替它的值

?

  注意:因為Flag1是整數(int)類型的,所以后面值肯定也要是int類型的,否則不能通過。因為假如一個數據為空,傳到頁面顯示的時候就會出現undefined,對于程序員來說,這是很正常的事情,很明確就知道它是一個空值,但對于普通用戶,undefined就很費解了,我們怎么樣才能在一個整形字段為空,用空字符串替代呢?用ISNULL肯定是不能解決的,不要著急,我們可以使用ISNULL、case when和conver函數進行解決。

?


?

2、case when

CASE WHEN的兩種格式

1.簡單Case函數

CASE sexWHEN '1' THEN ''WHEN '2' THEN ''ELSE '其他' END

2.Case搜索函數

CASE WHEN sex = '1' THEN ''WHEN sex = '2' THEN ''ELSE '其他' END

?

1).兩者相比,Case搜索函數功能更強。

2).Case函數類似于if……else if 語句,只返回第一個符合條件的值,之后的部分會被忽略

?


?

3、convert函數

CONVERT() 函數是把日期轉換為新數據類型的通用函數。

CONVERT() 函數可以用不同的格式顯示日期/時間數據。

語法:

CONVERT(data_type(length),data_to_be_converted,style)

?

 

data_type(length)?規定目標數據類型(帶有可選的長度)。data_to_be_converted?含有需要轉換的值。style?規定日期/時間的輸出格式。

可以使用的?style?值:

Style IDStyle 格式
100 或者 0mon dd yyyy hh:miAM (或者 PM)
101mm/dd/yy
102yy.mm.dd
103dd/mm/yy
104dd.mm.yy
105dd-mm-yy
106dd mon yy
107Mon dd, yy
108hh:mm:ss
109 或者 9mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110mm-dd-yy
111yy/mm/dd
112yymmdd
113 或者 13dd mon yyyy hh:mm:ss:mmm(24h)
114hh:mi:ss:mmm(24h)
120 或者 20yyyy-mm-dd hh:mi:ss(24h)
121 或者 21yyyy-mm-dd hh:mi:ss.mmm(24h)
126yyyy-mm-ddThh:mm:ss.mmm(沒有空格)
130dd mon yyyy hh:mi:ss:mmmAM
131dd/mm/yy hh:mi:ss:mmmAM

實例

下面的腳本使用 CONVERT() 函數來顯示不同的格式。我們將使用 GETDATE() 函數來獲得當前的日期/時間:

CONVERT(VARCHAR(19),GETDATE()) CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),106) CONVERT(VARCHAR(24),GETDATE(),113)

結果類似:

Dec 29 2008 11:45 PM 12-29-2008 29 Dec 08 29 Dec 2008 16:25:46.635

?

?

 CONVERT() 函數將一種類型的數據轉換為另外一種數據類型。

CONVERT(要轉換到的數據類型,字段名)

?

  例子:將int類型的Flag1轉換為varchar(10)類型

convert(varchar(10),Flag1)

?

?


?

4、解決不同類型int類型為空時,用空字符串代替

  1、假如它是空,就將其轉換為0

? ? ? 2、因為空字符串也是字符串,所以當Flag1不是為空的時候,還是需要將其轉換為字符串,所以無論Flag1是否為空,結果都是字符串,所以這樣子能運行

case when 0 = ISNULL(Flag1,0) then ' ' else convert(varchar(10),Flag1) end

?

  自己想出來的,可能效率比較低,假如有更好的方法,希望賜教!

?

轉載于:https://www.cnblogs.com/0201zcr/p/4674399.html

總結

以上是生活随笔為你收集整理的sql server 之函数小技巧 整数类型为空是用空字符串替代实现的全部內容,希望文章能夠幫你解決所遇到的問題。

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