日期:2014-05-18  浏览次数:20436 次

sql 空字符的默认值
sql   中   null   可以获得默认值
' '   获取不到默认值如何让 ' '在插入的时候也替换为默认值呢。比如为0
如下
create   table     #a(id   int,name   varchar(20)   default   '0 ')
insert   into   #a   (id)values(1)
select   *   from   #a
drop   table   #a
结果   1   0
insert   into   #a   (id,name)values(1, ' ')
结果   1     ' '
没有办法实现的也麻烦大家   “吱”   一声

------解决方案--------------------

create table Taa(id int,name varchar(20) default '0 ')--改一下
go
create trigger dddd
on Taa
for insert
as
declare @a varchar(20)
declare @id int
select @id = id,@a = name from inserted
if @a = ' ' update Taa set name = '0 ' where id = @id
go

insert into Taa (id,name)values(1, ' ')
select * from Taa
/*

id name
----------- --------------------
1 0

(所影响的行数为 1 行)


*/

drop table Taa