首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 怎样把整形的32 变成字符串形式的: '00032' ? 126 变成'00126' 保证长度为5位,左边补"0".. 我使用的方法太笨了. [已结贴,结贴人:polly_110]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • polly_110
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-16 16:32:38 楼主
    我使用的方法比较笨, 先判断整形数有多大,然后再决定在它前面加多少个"0",
    if @n < 10
    select str = '0000' + Cast(@n as varchar(1))
    else if @n <100
    select str = '000' + Cast(@n as varchar(2))
    else if @n < 1000
    select str = '00' + Cast(@n as varchar(3))
    .....

    感觉SQL 下面,应该有类似于格式化字符串的语句,可是只找到了 Format_String 这个单词,却不会使用..
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liangCK
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

    发表于:2008-05-16 16:33:521楼 得分:4
    declare @s varchar(10)
    set @s='32'
    select right('00000'+@s,6)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happyflystone
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 4

      5

    发表于:2008-05-16 16:34:232楼 得分:4
    select right('00000'+@s,6)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chenjunsheep
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:34:433楼 得分:4
    SQL code
    select right('00000'+@s,6)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liangCK
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

    发表于:2008-05-16 16:34:434楼 得分:0
    SQL code
    declare @s varchar(10) set @s='32' select right('00000'+@s,6),right(replicate('0',6)+@s,6)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dobear_0922
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:36:095楼 得分:4
    SQL code
    declare @n int set @n='32' select right(100000+@n,5) /* ---------- 00032 (1 row(s) affected) */
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • polly_110
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:36:296楼 得分:0
    这么快啊,谢谢啦,有点像delphi 下的 rightStr('0000' + str, 6);
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dobear_0922
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:37:197楼 得分:4
    SQL code
    select right(100000+32,5), right(100000+126,5) /* ---------- ---------- 00032 00126 (1 row(s) affected) */
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved