怎么实现在单个数字前加个0

ypk_java 2018-03-15 11:04:32

比如第一行 2015 1 变为 2015 01 最后拼接的结果为201501
但是 比如 2015 10 这就不需要改变了 还是 2015 10
...全文
398 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2018-03-15
  • 打赏
  • 举报
回复
DECLARE @t TABLE (
	d DATETIME
)
INSERT INTO @t VALUES ('2015-01-01')
INSERT INTO @t VALUES ('2015-10-01')

SELECT d
--convert 120 本身就能生成 yyyy-MM-dd
,REPLACE(CONVERT(CHAR(7),d,120),'-','') AS new 
--只适合于SQL Server2012 或以上版本
,FORMAT(d,'yyyyMM') AS new2		               
FROM @t
/*
d	                     new	  new2
2015-01-01 00:00:00.000	201501	201501
2015-10-01 00:00:00.000	201510	201510
*/
唐诗三百首 2018-03-15
  • 打赏
  • 举报
回复

create table #t(NF int ,zc int)

insert into #t(NF,zc)
 select 2015,1 union all 
 select 2015,3 union all
 select 2015,10


select NF,
       zc,
	   rq1=rtrim(NF)+right('00'+rtrim(zc),2)
 from #t

/*
NF          zc          rq1
----------- ----------- ----------------
2015        1           201501
2015        3           201503
2015        10          201510

(3 row(s) affected)
*/
shinesky 2018-03-15
  • 打赏
  • 举报
回复

select RQ, NF, cast(NF AS VARCHAR(4)) + right('0' + CAST(zc as varchar(2)), 2) as rq1 from ZSDRJSK..ZS_BASE_ZCB 

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧