oracle数据库查询语句中中将汉字转换成数字进行排序操作怎么操作。
比如数据库表中有一列为一,二,三,四,五,我想将他们进行排序,select*fromtableorderbylie,但是这一列是汉字,排序不是我想要的,求高人指点!!...
比如数据库表中有一列为一,二,三,四,五,我想将他们进行排序,select * from table order by lie,但是这一列是汉字,排序不是我想要的,求高人指点!!
展开
1个回答
展开全部
如果不是太多的话
select * from table order by translate(lie,'一二三四五六七八九','123456789')
太多的话就得另说了
select * from table order by translate(lie,'一二三四五六七八九','123456789')
太多的话就得另说了
追问
我这样写order by translate(cm,'一,二,三,四,五,六,七,八,九,十,十一,十二','1,2,3,4,5,6,7,8,9,10,11,12'),数据库里面查询也可以查询出来,而且结果正确,是不是也行啊
追答
关键是这样,你写到几,就只能排序到几,否则后边就乱了,或者写一个大写汉字转成数字的函数来处理,或者新建一个表里边这样
1 一
2 二
。。
100 一百
到时候以这个表为基准排序
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询