日期:2014-05-17  浏览次数:20447 次

求解释一条SQL语句,关于空值和NULL的转换!!!
INSETR INTO PUZZLE(CLUE1) VALUES (clue1==""?(null):(clue1))


是如果clue1为空,就当做null,插入数据库,如果不为空,那就是原来的值插入数据库

但是我试了,还是空值插入了数据库,不会显示NULL

我是在winform中写的这条命令,如果我想实现上面说的,应该怎么改呢???

------解决方案--------------------
C# code

//若clue1在数据库中的字段是数值型
string insSql = "INSETR INTO PUZZLE(CLUE1) VALUES (" + clue1 == "" ? "null" :clue1 + ")";
//若是字符型
string insSql="INSETR INTO PUZZLE(CLUE1) VALUES ("+clue1==""?"null":"'"+clue1+"')";

------解决方案--------------------
SQL code

declare @clue1 varchar(1)
insert into puzziw(clue1)
select case when @clue1='' then null else @clue1 end

------解决方案--------------------
InSert Into Puzzle(Clue1)
Select Case When ISNULL(clue1,'') = '' then Null Else clue1 End From 表