Jam*_*mus 32 t-sql format casting
我找不到在T-SQL中执行此操作的简单方法.
我有一个列(SortExport_CSV)返回一个整数'2'到90.如果存储的数字是一个数字,我需要它转换为一个以0开头的2位数字符串.我试图使用CAST但我不知道如何以首选格式显示样式(0#)
当然,在前端(SSRS,MSAccess,Excel等)上很容易做到这一点,但在这种情况下,我没有前端,必须为原始数据集提供已经格式化的2位数字符串.
小智 20
您可以使用T-SQL的内置格式函数:
declare @number int = 1
select format (@number, '0#')
Run Code Online (Sandbox Code Playgroud)
Luk*_*keH 18
SELECT RIGHT('0' + CAST(sortexport_csv AS VARCHAR), 2)
FROM your_table
Run Code Online (Sandbox Code Playgroud)
小智 9
你们都做了太多工作:
right(str(100+@x),2)
-- for a function, same idea:
--
create function zeroPad( @yourNum int, @wid int)
as
begin
return right( 1000000+@yourNum), @wid)
end
Run Code Online (Sandbox Code Playgroud)
将值转换为字符串,在其前面添加一个零(以便它是两个或树字符),并获取最后一个字符:
right('0'+convert(varchar(2),Sort_Export_CSV),2)
Run Code Online (Sandbox Code Playgroud)