欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sql有关问题,字符串拼接有关问题

更新时间: 2014-01-05 02:18:00 责任编辑: Author_N1

 

sql问题,字符串拼接问题
表A
省代码      市代码    
1               1
2               2
6               7
11              13
现在我想在表A中加一个新的列“城市代码”
要求字段城市代码=国家代码(固定为20)+省代码(省代码为个位时补0,即省代码为1时,为01)+市代码(市代码为个位时补0,即市代码为1时,为01),得到新的表A
表A
省代码  市代码  城市代码
1           1              200101
2           2              200202
6           7              200607
11         13              201113
该怎么写语句~
--参考方法--


;with cte(省代码,市代码) as
(
select 1,1
union all select 2,2
union all select 6,7
union all select 11,13
)
select *,
       '20'+case LEN(省代码) 
                 when 1 then '0'+cast(省代码 as varchar) 
                 else cast(省代码 as varchar)
            end +
    case LEN(市代码)
         when 1 then '0'+cast(市代码 as varchar)
         else cast(市代码 as varchar) 
    end as  城市代码
from cte
/*
省代码         市代码         城市代码
----------- ----------- ----------------------------------------------------------------
1           1           200101
2           2           200202
6           7           200607
11          13          201113

(4 行受影响)

*/
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:18:00
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/8213/
本文WWW.DOC100.NET DOC100.NET版权所有。