我有一个类似于
的案例陈述SELECT
Location,
CASE WHEN id BETWEEN 1 AND 7 THEN '05' ELSE '01' END AS id
FROM Locations
然而,这返回5或1而没有前导零。
我已经尝试了CAST('05' AS sql_variant)
但是我将把这个select作为插入语句用于表及其nvarchar字段,所以它不喜欢它。
有什么想法吗?感谢
答案 0 :(得分:1)
我在SQL 2008R2上尝试了你的查询,它工作得很好..
您可以随时执行此操作:
SELECT
Location,
right('0'+convert(varchar(2), CASE WHEN id BETWEEN 1 AND 7 THEN '5' ELSE '1' END), 2) AS id
FROM Locations
您是绑定变量中的值还是直接插入另一个表? 例如: INSERT INTO table2 SELECT ...
答案 1 :(得分:1)
选择 地点, 如果id为BETWEEN 1和7那么转换(nvarchar,'05')ELSE convert(nvarchar,'01')END AS id 来自地点
会做