作者lbeeon (力比恩)
看板Database
标题[SQL ] SELECT字串合并NULL值问题
时间Mon Oct 22 22:55:28 2012
大家好!!
小弟是使用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
1F:→ jimshih:1. 语法是不是打错了? Date1? Data1?? 10/23 10:31
2F:→ jimshih:2.对Data2及Data3用isnull来转换看看? 10/23 10:33
3F:推 pennymarkfox:不管什麽资料型态加上null都会变null 10/23 14:28
4F:→ lbeeon:是Data1抱歉 不是语法的问题 我有用过类似的语法 10/23 15:21
5F:→ lbeeon:应该说就是一样的结构 但是遇到NULL还是会有值 但是昨天用 10/23 15:22
6F:→ lbeeon:在新的表上就变成NULL了... 10/23 15:23
以找到解决方法就是用语法
SET CONCAT_NULL_YIELDS_NULL OFF;
在查询即可
※ 编辑: lbeeon 来自: 140.120.200.219 (10/23 15:32)
8F:→ TeemingVoid:为 off,建议依照jimshih大的意见,用ISNULL()处理。 10/23 15:53
9F:→ lbeeon:谢T大 有个小问题之前我的表在没设定之前合并不会变NULL 10/23 16:06
10F:→ lbeeon:有可能原因? 10/23 16:06
改成
SELECT Data1,(Data2 +'/' + ISnull(Data3,'')) AS Data
FROM table
即可 谢谢帮忙
※ 编辑: lbeeon 来自: 140.120.200.219 (10/23 16:10)
11F:推 TeemingVoid:我推测单纯就因为资料内容有 null 值。请用: 10/23 16:09
12F:→ 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)
13F:→ jimshih:嘿嘿嘿嘿....不错不错, 你知道我在说什麽 :p 10/23 23:21
14F:→ lbeeon:略懂XD 谢谢J大 10/24 00:29