sql数据库中isnull函数的有关问题
sql数据库中isnull函数的问题
update lll set name='1aanna',age =isNULL('',age) where number='10000';
如上 ,写了一句查询,是当age那栏为空时不更新,维持age原值 ,怎么不对呢?
一旦这样执行,还是会变为null值。。。
求大家帮忙解释一下~~~·
------解决思路----------------------
isNULL(字段名,'')
update lll set name='1aanna',age =isNULL('',age) where number='10000';
改为
update lll set name='1aanna',age =isNULL(age,'') where number='10000';
------解决思路----------------------
你是从页面上拿到了 2 个值,一个是 name ,一个是 age ,现在是哪个为空就不更新哪个,对吧?
这样的话,你就不要使用 isnull 函数了。
------解决思路----------------------
输入的值应该有个变量@age传入啊,光用 age 就是代表原字段值,怎么把输入值更新进去
------解决思路----------------------
declaer @age int
应该是declare ,字打错了。没检查。
看来你完全不懂呀
update lll set name='1aanna',age =isNULL('',age) where number='10000';
如上 ,写了一句查询,是当age那栏为空时不更新,维持age原值 ,怎么不对呢?
一旦这样执行,还是会变为null值。。。
求大家帮忙解释一下~~~·
------解决思路----------------------
isNULL(字段名,'')
update lll set name='1aanna',age =isNULL('',age) where number='10000';
改为
update lll set name='1aanna',age =isNULL(age,'') where number='10000';
------解决思路----------------------
你是从页面上拿到了 2 个值,一个是 name ,一个是 age ,现在是哪个为空就不更新哪个,对吧?
这样的话,你就不要使用 isnull 函数了。
update lll
set name='1aanna',
age = case when '传来的值'<> '' then '传来的值' else age end
where number='10000';
------解决思路----------------------
输入的值应该有个变量@age传入啊,光用 age 就是代表原字段值,怎么把输入值更新进去
update lll set name='1aanna',age=ISNULL(NULLIF(@age,''),age)
where number='10000'
------解决思路----------------------
declaer @age int
应该是declare ,字打错了。没检查。
看来你完全不懂呀