0

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

一个字段是最多 4 位 (0 - 1956) 的 int 字段,另一个字段是名称字段。理想情况下,我想将两者连接到一个由两个选项卡分隔的下拉框中,按数字排序并在适当的地方添加前导零(因此 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但我不确定如何将两者结合起来,以便在一次通话中发生串联。有人愿意帮助我吗?

4

1 回答 1

1
SELECT Right('00000' + CONVERT(varchar(5), myNumber), 4) + char(9) + char(9) + RTRIM(Name) 
    AS myField 
FROM myTable order by myField
于 2013-06-11T22:28:54.403 回答