oracle"字符串型数字"排序问题

原文链接:http://blog.sina.com.cn/s/blog_58f884cf0100oa0h.html


SQL> select * from t;


ADDRESS
--------------------------------------------------------------------------------
4269 
 城南路1#  永康市
4279  城南路10#  永康市
4280  城南路11#  永康市
4281  城南路12#  永康市
4282  城南路13#  永康市
4283  城南路14#  永康市
4284  城南路15#  永康市
4285  城南路16#  永康市
4286  城南路17#  永康市
4287  城南路18#  永康市
4288  城南路19#  永康市
4270  城南路2#  永康市
4289  城南路20#  永康市
4290  城南路21#  永康市
4291  城南路21#-1  永康市
4292  城南路22#  永康市
4293  城南路23#  永康市

17 rows selected

SQL>
SQL> select * from t
  2  orderby NLSSORT(address,'NLS_SORT = SCHINESE_PINYIN_M'),to_number(translate(address, '0123456789' || address,'0123456789'));

ADDRESS
--------------------------------------------------------------------------------
4269  城南路1#  永康市
4270  城南路2#  永康市
4279  城南路10#  永康市
4280  城南路11#  永康市
4281  城南路12#  永康市
4282  城南路13#  永康市
4283  城南路14#  永康市
4284  城南路15#  永康市
4285  城南路16#  永康市
4286  城南路17#  永康市
4287  城南路18#  永康市
4288  城南路19#  永康市
4289  城南路20#  永康市
4290  城南路21#  永康市
4291  城南路21#-1  永康市
4292  城南路22#  永康市
4293  城南路23#  永康市

17 rows selected

SQL>

你可能感兴趣的:(Oracle)