我想向月份/日期动态添加前导零,下面是我的查询:
select
LEFT(CONCAT(isnull(replicate('0' ,2-len(convert(varchar,month('1/1/2018')))+ convert(varchar,day('1/1/2018'))),''),space(2)),2)
预期输出:
2018年1月1日为'01',但我得到的是'00'。
有帮助吗?!
答案 0 :(得分:0)
我认为您的日期是以字符串形式存储的。您可以将其转换为日期,该日期将添加前导零,然后将其转换为varchar with whatever format code you want。使用101格式获取所需内容:
SELECT CONVERT(varchar(10),CONVERT(date,'1/2/2018'),101)
输出:
01/02/2018
正如亚伦·伯特兰(Aaron Bertrand)所说,这种格式可能不清楚哪个值是天,哪个值是月。