SQLSERVER 的格式化命令是什么?
在VB中, 可以用FORMAT来把数字格式化为前导0:
1 --> Format(1, "0000 ") --> 0001
那么在SQLSERVER怎么样把1格式化为 "0001 "?
[解决办法]
declare @iNum as int,@iLen as int
set @iLen = 4 --格式化字符的长度
set @iNum = 1
if @iLen - len(cast(@iNum as varchar)) > 0
begin
select REPLICATE( '0 ',@iLen - len(cast(@iNum as varchar))) + cast(@iNum as varchar)
end
else
begin
select @iNum
end
[解决办法]
SQL数据库中没有类似format这样的日期文本数字通用的格式化函数,不同的类型有不同的函数
你的这个要求可以变通解决,比如
select right( '0000 '+cast(1 as varchar(4)),4))
[解决办法]
case when len(cast(intVariant as varchar))> =4
then
cast(intVariant as varchar)
else
replicate( '0 ',4-len(cast(intVariant as varchar)))+cast(intVariant as varchar)
end