Sql 返回空值而不是';未更新';

Sql 返回空值而不是';未更新';,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

当列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)
。而不是存储
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