String 在crystal报表公式中用零填充字符串
我有一些最大长度为4的绳子。 但是前导零不存在,所以我需要从左开始在字符串中填充相同的零。 我很困惑,因为字符串是这样的:String 在crystal报表公式中用零填充字符串,string,sorting,crystal-reports,pad,String,Sorting,Crystal Reports,Pad,我有一些最大长度为4的绳子。 但是前导零不存在,所以我需要从左开始在字符串中填充相同的零。 我很困惑,因为字符串是这样的: 11A 12B 13 6 6A 是否有一种方法可以添加前导零,然后对它们进行排序,这样列表可以如下所示: 6 6A 11A 12B 13 and so on. 更新: 我尝试过从右侧填充零并指定长度,如下所示: Right("00" & TableField,3) as maximum can be three, but that is sorting as
11A
12B
13
6
6A
是否有一种方法可以添加前导零,然后对它们进行排序,这样列表可以如下所示:
6
6A
11A
12B
13 and so on.
更新:
我尝试过从右侧填充零并指定长度,如下所示:
Right("00" & TableField,3) as maximum can be three, but that is sorting as
6
13
6A
11A
12B
以下是使用SQL查询检索排序数据的示例
SELECT
DATA
FROM
(
SELECT '11A' AS DATA
UNION ALL
SELECT '12B'
UNION ALL
SELECT '13'
UNION ALL
SELECT '6'
UNION ALL
SELECT '6A'
) AS TestTable
ORDER BY
LEN((
CASE WHEN ISNUMERIC(DATA) = 1
THEN LEFT(DATA + '0000', LEN(DATA) + 1)
ELSE DATA
END
)),
(
CASE WHEN ISNUMERIC(DATA) = 1
THEN LEFT(DATA + '0000', LEN(DATA) + 1)
ELSE DATA
END
)
你使用什么样的数据库。您的数据总是以数字、数字/字母的形式存在,或者可以是其他形式,比如数字/字母/数字。正如我所示,它有时是数字、其他时间数字+字母表的组合。您是否尝试过发布的代码?因为在SQL Server上,它提供了所需的结果。