Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了oracle 10g在前面包含数字时订购varchar列大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Oracle 10g数据库并且有一个VARCHAR2(2000字符)列,可以命名为TEST,它可以包含前面的数字,例如:

test
1test
3test

当我打电话给“…由TEST asc订购”或简称“……由TEST订购”时

我得到的结果如下

test
1test
3test

但是我希望得到这样的结果:

1test
3test
test

所以首先编号插入,是否有一种方法来实现这个?

解决方法

你的 NLS_SORT是什么设置的? (从dual中选择sys_context(‘USERENV’,’NLS_SORT’).如果它是BINARY,则排序顺序基于每个字符的数值,因此它取决于数据库字符集.如果它是其他东西,那么你可能想要覆盖它.

您可以通过修改该参数来更改数据库或会话级别的排序顺序,但您也可以针对单个查询更改它:

order by nlssort(test,'NLS_SORT=BINARY')

根据您的字符集,您可能需要尝试使用不同的值而不是BINARY.您可以使用v $nls_valID_values中的select值获取所有有效值的列表,其中parameter =’SORT’.但请注意NLS_SORT文档中提到的潜在性能影响.

nlssort()函数记录在here中.

大佬总结

以上是大佬教程为你收集整理的oracle 10g在前面包含数字时订购varchar列全部内容,希望文章能够帮你解决oracle 10g在前面包含数字时订购varchar列所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: