iT邦幫忙

0

MS SQL 2014 TSQL查詢時查詢結果集內的 null值 是否能 不要顯示出NULL字串 保持空白?

MS SQL 2014 TSQL查詢時查詢結果集內的 null值 是否能 不要顯示出NULL字串 保持空白?
是否需要做甚麼設定?
目前查詢結果:

希望查詢結果:

看更多先前的討論...收起先前的討論...
wtlin iT邦新手 1 級 ‧ 2015-05-15 09:26:00 檢舉
http://ithelp.ithome.com.tw/question/10010746
外獅佬 iT邦大師 1 級 ‧ 2015-05-15 09:27:10 檢舉
ISNULL([欄位],'')
賽門 iT邦超人 1 級 ‧ 2015-05-15 14:23:17 檢舉
實作一下就知道了...

輸出成CSV...


實證ISNULL()就是正解, 有什麼好不明白的??
試試看 BCP
該文件好像說可以達到你要的效果

TGI
唱歌
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

8
slime
iT邦大師 1 級 ‧ 2015-05-15 09:26:26

試試

<pre class="c" name="code">select isnull(核薪,"")
看更多先前的回應...收起先前的回應...
davidliu9116 iT邦研究生 2 級 ‧ 2015-05-15 09:41:33 檢舉

我指的是所有的查詢結果不要顯示出NULL字串在查詢結果
不是透過轉換的
有的資料表有將近100個欄位且後續欄位若有變動就會出問題

外獅佬 iT邦大師 1 級 ‧ 2015-05-15 09:51:58 檢舉

T-SQL查詢,本來就是呈現出原始的資料
原始的資料是null,不經過轉換怎麼會變成空白?
null不等於空白

davidliu9116 iT邦研究生 2 級 ‧ 2015-05-15 09:54:20 檢舉

可是這樣我將SQL Export成CSV檔時它會把Null值填入NULL字串
但我希望是空白的

davidliu9116 iT邦研究生 2 級 ‧ 2015-05-15 09:55:17 檢舉

不能是空字串會影響加總必須維持是空值

外獅佬 iT邦大師 1 級 ‧ 2015-05-15 09:58:28 檢舉

davidliu9116提到:
我希望是空白的

那就用ISNULL轉啊....
你去Microsoft SQL Server網站上去看,你也只會得到相同的答案
請用ISNULL
謝謝

外獅佬 iT邦大師 1 級 ‧ 2015-05-15 10:04:58 檢舉

原因就是null就是null
null不是0、空字串或者其他什麼有的沒有的值
null,它就是null

看來樓主對 Null 有很大的誤解...
請參考 MSDN 教學
處理 Null 值

賽門 iT邦超人 1 級 ‧ 2015-05-15 10:38:02 檢舉

這個答案就可以了....

davidliu9116 iT邦研究生 2 級 ‧ 2015-05-15 11:58:19 檢舉

大家誤會了
重點是將 SQL查詢 Export 成CSV檔時它會很雞婆的把Null值填入NULL字串
例如:
ON Call,7,NULL,NULL,加,NULL
我希望它保持入下的資料,Null值是不塞入任何資料的
ON Call,7,,,加,

slime iT邦大師 1 級 ‧ 2015-05-15 13:48:21 檢舉

目前真的沒有直接解.

間接解:

  1. 欄位不允許 NULL .
  2. 用 isnull 在查詢時換掉.
  3. 匯出 .csv 之後, 從 .csv 換掉.

因為 Excel 跟 SQL 對欄位的定義用法不同.
SQL: 不使用的欄, 仍會存一個 null
Excel : 在檔案內會記錄使用中的欄與列, 而只會分是否使用中, 使用中則是空字串"", 與 NULL 概念稍有不同.

create view , 那欄位null用函數替換,如同上面網友介紹的,
export 該 view, 試試看.

跟view無關,既然是查詢的結果,就用函數替換就好啦.

davidliu9116提到:
重點是將 SQL查詢 Export 成CSV檔時它會很雞婆的把Null值填入NULL字串

該不會是希望查詢後不做任何加工就要得到答案吧!!

matchy3c iT邦新手 5 級 ‧ 2015-12-09 12:41:03 檢舉

用 Case When Then End 應該可以解決

我要發表回答

立即登入回答