看板 Database 關於我們 聯絡資訊
大家好!! 小弟是使用SQL server2008 配合ASP.net作為網頁開發 遇到一個問題如下 我會利用語法 SELECT Date1,(Data2 +'/' + Data3) AS Data FROM table 之前使用時候也有遇到是NULL值 選出來結果就會是 Data1 Data data1 data2/ 但是今天我新增幾個表 想要利用類似的語法時 合併的欄位卻變成NULL... 有人知道原因可以幫忙一下 感激不盡 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.200.219
jimshih:1. 語法是不是打錯了? Date1? Data1?? 10/23 10:31
jimshih:2.對Data2及Data3用isnull來轉換看看? 10/23 10:33
pennymarkfox:不管什麼資料型態加上null都會變null 10/23 14:28
lbeeon:是Data1抱歉 不是語法的問題 我有用過類似的語法 10/23 15:21
lbeeon:應該說就是一樣的結構 但是遇到NULL還是會有值 但是昨天用 10/23 15:22
lbeeon:在新的表上就變成NULL了... 10/23 15:23
以找到解決方法就是用語法 SET CONCAT_NULL_YIELDS_NULL OFF; 在查詢即可 ※ 編輯: lbeeon 來自: 140.120.200.219 (10/23 15:32)
TeemingVoid:根據官方文件 http://ppt.cc/9wqN,這個選項最好別設 10/23 15:53
TeemingVoid:為 off,建議依照jimshih大的意見,用ISNULL()處理。 10/23 15:53
lbeeon:謝T大 有個小問題之前我的表在沒設定之前合併不會變NULL 10/23 16:06
lbeeon:有可能原因? 10/23 16:06
改成 SELECT Data1,(Data2 +'/' + ISnull(Data3,'')) AS Data FROM table 即可 謝謝幫忙 ※ 編輯: lbeeon 來自: 140.120.200.219 (10/23 16:10)
TeemingVoid:我推測單純就因為資料內容有 null 值。請用: 10/23 16:09
TeemingVoid:select * from table where column is null; 查一下 10/23 16:10
我知道原因了 我之前的資料是用Insert(data1,data2,'') 所以裡面放的不是NULL 新增資料表裡面資料是用SQL編輯新增的 所以一個是NULL一個是空值?.. ※ 編輯: lbeeon 來自: 140.120.200.219 (10/23 16:18)
jimshih:嘿嘿嘿嘿....不錯不錯, 你知道我在說什麼 :p 10/23 23:21
lbeeon:略懂XD 謝謝J大 10/24 00:29