大家看一下,@len长度不为5则通过填空值,让@len达到五

jaydom 2010-06-23 11:47:14

declare @len varchar(5)
declare @i int
set @len='aa'
set @i=isnull(len(@len),0)

while @i<5
begin
set @len=@len+'空'
set @i=@i+1
end
print @len




----@len长度不为5则全它弄成5
...全文
80 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rmljoe 2010-06-23
  • 打赏
  • 举报
回复
declare @len varchar(5)
set @len='aa'

print left(isnull(@len,'') + space(5),5)


直接在右边补就好了,不明白为什么要搞那么复杂
htl258_Tony 2010-06-23
  • 打赏
  • 举报
回复
declare @len nvarchar(5)
百年树人 2010-06-23
  • 打赏
  • 举报
回复
那应该用长度来判断,不是用i来判断
永生天地 2010-06-23
  • 打赏
  • 举报
回复
declare @len char(5)
set @len='aa'
select datalength(@len)
Mr_Nice 2010-06-23
  • 打赏
  • 举报
回复
set @i=isnull(CASE WHEN len(@len) <>5 THEN 5 ELSE len(@len) end,0)


???
jaydom 2010-06-23
  • 打赏
  • 举报
回复
跟tony哥的解答一样,是由于编码方式不同,谢谢大家了
feilniu 2010-06-23
  • 打赏
  • 举报
回复
SELECT LEN('123 ')
LEN函数不计算尾随空格的。

要让长度达到5,用char(5)代替varchar(5)吧。

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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