前导零';s+;SQL中的concatation

前导零';s+;SQL中的concatation,sql,Sql,我在InfoPath中有一个下拉框,我正试图用SQL表中两个字段的信息填充该下拉框,但似乎无法完全按照我想要的方式获取它 一个字段是最多4位(0-1956)的整数字段,另一个字段是名称字段。理想情况下,我希望将两者连接到由两个选项卡分隔的一个下拉框中,按数字排序,并在适当的地方添加前导零(因此12改为0012),但我不确定上面的SQL语句会是什么 虽然char(9)实际上并没有在两个字段之间插入制表符(可能是InfoPath的东西?或者这是错误的?) 由于前导零不在那里,它将按0、1、10、10

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

一个字段是最多4位(0-1956)的整数字段,另一个字段是名称字段。理想情况下,我希望将两者连接到由两个选项卡分隔的一个下拉框中,按数字排序,并在适当的地方添加前导零(因此12改为0012),但我不确定上面的SQL语句会是什么

虽然char(9)实际上并没有在两个字段之间插入制表符(可能是InfoPath的东西?或者这是错误的?)


由于前导零不在那里,它将按0、1、10、100、1000、1001等进行排序。我见过有人将前导零放在这个链接上的例子,但我不确定如何将两者结合起来,以便在一次调用中发生关联。有人想帮我吗

太棒了,非常感谢@DanBracuk可能是对的。我看到了varchar(5)并坚持使用它。我要换个职位。
SELECT Right('00000' + CONVERT(varchar(5), myNumber), 4) + char(9) + char(9) + RTRIM(Name) 
    AS myField 
FROM myTable order by myField
SELECT Right('00000' + CONVERT(varchar(5), myNumber), 4) + char(9) + char(9) + RTRIM(Name) 
    AS myField 
FROM myTable order by myField