日期:2014-05-19  浏览次数:20941 次

请问如何判断sql数据库中一个字段的值是否为空,并且填充它
大家好,请问如果有一个表test,通过excel(有单元格合并)数据导入后保存了如下的数据,其中ID为 "2、3、4、5”的图书名都是作者为”三毛“的人写的,但是ID为 "3、4、5”的作者名称都是空的,请问如何判断 "AUTHOR "字段是否为空并通过循环为其赋值,谢谢,在线等。

ID AUTHOR     NAME                   DATATIME
1 刘若英     下楼                 2007-10-11
2 三毛     邂逅撒哈拉           2007-10-12
3     稻草                 2007-10-13
4     雨季不再来           2007-10-14
5     温柔的夜               2007-10-15
6 安妮宝贝     二月河                 2007-10-16



------解决方案--------------------
--查詢
Select
ID,
(Case When IsNull(AUTHOR, ' ') = ' ' Then (Select TOP 1 AUTHOR From Test Where ID < A.ID And IsNull(AUTHOR, ' ') != ' ' Order By ID Desc) Else AUTHOR End) As AUTHOR,
NAME,
DATATIME
From
Test A

--更新
Update
A
Set
AUTHOR = (Select TOP 1 AUTHOR From Test Where ID < A.ID And IsNull(AUTHOR, ' ') != ' ' Order By ID Desc)
From
Test A
Where
IsNull(AUTHOR, ' ') = ' '