Oracle字符串中包含数字、特殊符号的排序问题解决方法


当前第2页 返回上一页

示例如下:

示例一:将数字转换为9,其他的大写字母转换为X,然后返回。

1

SELECT TRANSLATE('2KRW229','0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX')                       "License"FROM DUAL

示例二:将数字保留,将其他的大写字母移除。

1

SELECT TRANSLATE('2KRW229','0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ','0123456789') "Translate example"FROM DUAL

罗勇补充示例如下:

示例三:示例证明是按照字符来处理,不是按照字节来处理,如果to_string的字符数比from_string多的话,多出的字符数似乎没有什么用处,也不会引发异常。

1

2

SELECT TRANSLATE('我是中国人,我爱中国', '中国', 'China') "Translate example"

FROM DUAL

示例四:下面的示例证明,如果from_string的字符数大于to_string,那么多出的字符会被移除,也就是ina三个字符会从char参数中移除,当然区分大小写啦。


1

2

SELECT TRANSLATE('I am Chinese, I love China', 'China', '中国') "Translate example"

FROM DUAL

示例五:以下示例证明,如果第二个参数为空字符串,整个返回null。

1

2

3

4

SELECT TRANSLATE('2KRW229',

'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',

'') "License"

FROM DUAL

示例六:在银行转帐时经常看见账户人只显示姓名的最后一个字,其余的用星号代替,我就用translate来做个类似的东西吧。

1

2

3

4

SELECT TRANSLATE('中国人',

substr('中国人',1,length('中国人') - 1),

rpad('*',length('中国人'),'*')) "License"

  FROM DUAL

如果大家遇到此类问题,就可以按照以上的方法尝试一下。

相关推荐:

关于Oracle 中Contains 函数的用法总结

详解oracle分页查询的基础原理

Oracle程序开发小技巧

以上就是Oracle字符串中包含数字、特殊符号的排序问题解决方法的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

oracle学习笔记(五)

详解oracle控制文件及日志文件的管理问题

oracle例外用法实例详解

oracle下一条sql语句的优化过程(比较详细)

oracle数据库怎么打开

oracle 左连接(+)加号用法及常用语法之间的关系

oracle 11g 新特性 flashback data archive 使用实例

oracle知识整理笔记

oracle 正则表达式实例详解

windowsserver2016安装oracle11g的图文教程

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...