领先的零+在SQL中连接

时间:2013-06-11 22:16:45

标签: sql

我在InfoPath中有一个下拉框,我试图用SQL表中的两个字段填充信息,但似乎无法按照我想要的方式获取它。

一个字段是一个int字段,最多4位数(0 - 1956),另一个字段是名称字段。理想情况下,我想将两个连接到由两个选项卡分隔的一个下拉框中,按数字排序并在适当的位置添加前导零(因此12而不是读取为0012),但我不确定SQL语句是如何那会是。

我使用下面的语句连接下来,虽然char(9)实际上并没有在两个字段之间插入一个标签(可能是一个InfoPath的东西?还是那个错了?)

SELECT CONVERT(varchar(5), myNumber) + char(9) + char(9) + RTRIM(Name) 
    AS myField 
FROM myTable order by myField

由于前导零不存在,它会按0,1,10,100,1000,1001等排序。我已经看到有人在这个链接http://geekswithblogs.net/nagendraprasad/archive/2009/03/19/formatting-number-to-add-leading-zeros---sql-server.aspx上放置前导零的例子但是我我不确定如何将两者结合起来,以便在一次通话中发生连续化。有人想帮我这个吗?

1 个答案:

答案 0 :(得分:1)

SELECT Right('00000' + CONVERT(varchar(5), myNumber), 4) + char(9) + char(9) + RTRIM(Name) 
    AS myField 
FROM myTable order by myField