我的数据表名称为tblwcrates,我的列为:
WC_code,wc_description,wc_rates
我几乎完成了所有的过程。每当我运行查询时,wc_code
都是有序的,但数字的最大长度是5.在某些情况下,2&有3位数字,我面临非法订单的问题。示例输出:
0042
101
205
4094
16
每当我输入小于5位的数字时,我想添加前导零。
答案 0 :(得分:0)
当您订购包含数字的字符串时会发生这种情况。而不是数字排序,使用字母排序,而您期望数字排序。尝试
ORDER BY TO_NUMBER(wc_code)
或者,你可以确保你的wc_code用零填充,无论是从数字转换为字符串(wc_code 是表定义中的数字,对吗?)还是之后。在Oracle中,有一个函数LPAD:
LPAD(wc_code, 5, '0')
答案 1 :(得分:0)
试试这个:
select RIGHT('0000000'+cast(wc_code as varchar(10),5)