Sql 返回空值而不是';未更新';
或 当列Upload_date为null或空时,它应该返回NOT UPDATED,但返回null getSql 返回空值而不是';未更新';,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,或 当列Upload_date为null或空时,它应该返回NOT UPDATED,但返回null get 提前感谢尝试以下查询 SELECT top 1 'Uploaded_Date' = CASE isnull(Uploaded_Date,0) WHEN 0 THEN 'NOT UPDATED' else uploaded_date END FROM ABC 您正在尝试将int值设置为Uploaded\u Date,它是varchar(50)。而不是存储in
提前感谢尝试以下查询
SELECT top 1 'Uploaded_Date' =
CASE isnull(Uploaded_Date,0)
WHEN 0 THEN 'NOT UPDATED'
else uploaded_date
END
FROM ABC
您正在尝试将
int
值设置为Uploaded\u Date
,它是varchar(50)
。而不是存储int
0
存储'0'
即varchar,并在case
语句中进行比较。它应该可以工作
SELECT top 1
CASE WHEN (Uploaded_Date IS NULL or LTRIM (RTRIM (isnull(Uploaded_Date,'')))='NULL')
THEN CAST('NOT UPDATED' AS VARCHAR(50))
ELSE CAST(uploaded_date AS VARCHAR(50)) END as 'Uploaded_Date'
FROM ABC
只需
选择ISNULL(上传日期,'未更新')
选择前1名“上传日期”=上传日期为NULL时的情况,然后选择“未更新”其他上传日期是真实的NULL还是返回的字符串NULL?嗨,Sushil,感谢您的回复,但它仍然是我在使用您的查询时得到的是null值而不是'No Updated'。我在使用MS SQL 2008@a_horse_with_No_nameHi Unnikrishanan,感谢您的回复上述查询也返回空列。。!上传日期列的数据类型是什么?我使用的数据类型是varchar(50)Ok。。因此,列中有可能出现空字符串。。尝试使用更新的脚本。很抱歉,我又遇到了同样的错误
SELECT top 1
CASE WHEN (Uploaded_Date IS NULL or LTRIM (RTRIM (isnull(Uploaded_Date,'')))='NULL')
THEN CAST('NOT UPDATED' AS VARCHAR(50))
ELSE CAST(uploaded_date AS VARCHAR(50)) END as 'Uploaded_Date'
FROM ABC
SELECT top 1 'Uploaded_Date' =
CASE isnull(Uploaded_Date,'0')
WHEN '0' THEN 'NOT UPDATED'
else uploaded_date
END
FROM ABC