为什么sql case 语句返回值不能是中文

来源:百度知道 编辑:UC知道 时间:2024/06/05 16:18:56
SELECT T0.[DocNum], T0.[ItemCode], T1.[ItemName],
T1.[FrgnName], T2.[ItmsGrpNam],T0.[Type] ,
case T0.[Status]
when 'R' then '已批准'
else '已计划'
end, T0.[DueDate]
FROM OWOR T0 , OITM T1 INNER JOIN OITB T2 ON T1.ItmsGrpCod = T2.ItmsGrpCod
WHERE T0.[ItemCode] = T1.[ItemCode] and T0.[Status]<>'L' and T0.[Status]<>'c'
case语句中then后面的值如果是中文,执行后出现问号,如果是英文,一切正常

试试看, 应该是数据库的语言环境的问题。
case T0.[Status]
when 'R' then N'已批准'
else N'已计划'
end,

case T0.[Status]
when 'R' then 已批准
else 已计划
end, T0.[DueDate]

会话改为中文 版本问题!~