TRANSLATE(expr, from_string, to_string)

from_string 与 to_string 以字符为单位,对应字符一一替换。

SQL>  SELECT TRANSLATE('ab你好abcdefg', 'abcdefg', '1234567') AS NEW_STR FROM DUAL;

NEW_STR
-------------
12你好1234567 以字符为单位,对应字符一一替换。 替换规则:
a 1
b 2
你 你 不作替换 参数里没有,不做替换
好 好 不作替换
a 1
b 2
c 3
d 4
e 5
f 6
g 7 如果to_string为空则返回空值,第3个参数为空
SQL> SELECT TRANSLATE('ab你好abcdefg', 'abcdefg', '') AS NEW_STR FROM DUAL; N
- SQL>
会返回空值 问题一:替换掉字母
SELECT TRANSLATE('ab你好abcdefg', '1abcdefg', '1') AS NEW_STR FROM DUAL; SQL> SELECT TRANSLATE('ab你好abcdefg', '1abcdefg', '1') AS NEW_STR FROM DUAL; NEW_
----
你好 1 替换为 1
a 空
b 空
c 空
d 空
e 空
f 空
g 空 问题2 按数字字母混合字符串中的字母排序
SQL> CREATE OR REPLACE VIEW V
as
SELECT ename || ' ' || empno AS data FROM emp; 2 3 视图已创建。 SQL> set linesize 200
SQL> select * from v where rownum<=4; DATA
---------------------------------------------------
SMITH 7369
ALLEN 7499
WARD 7521
JONES 7566 SQL> SQL>
SQL> SELECT data, translate(data, '-0123456789', '-') AS ename from v order by 2; DATA ENAME
--------------------------------------------------- ------------------------------------------------------------------------------------------------------
ADAMS 7876 ADAMS
ALLEN 7499 ALLEN
BLAKE 7698 BLAKE
CLARK 7782 CLARK
FORD 7902 FORD
JAMES 7900 JAMES
JONES 7566 JONES
KING 7839 KING
MARTIN 7654 MARTIN
MILLER 7934 MILLER
SCOTT 7788 SCOTT DATA ENAME
--------------------------------------------------- ------------------------------------------------------------------------------------------------------
SMITH 7369 SMITH
TURNER 7844 TURNER
WARD 7521 WARD 已选择14行。 CREATE OR REPLACE VIEW v AS
SELECT '-0' AS str FROM dual UNION ALL
SELECT '-123' AS str FROM dual UNION ALL
SELECT '-456' FROM dual UNION ALL
SELECT '-789' FROM dual UNION ALL
SELECT '-1.23' AS str FROM dual UNION ALL
SELECT '-.789' FROM dual UNION ALL
SELECT '-' FROM dual UNION ALL
SELECT '-123x' AS str FROM dual UNION ALL
SELECT '7-' FROM dual; SQL> select * from v; STR
-----
-0
-123
-456
-789
-1.23
-.789
-
-123x
7- SELECT v.str, translate(str, '-0123456789', '-') AS str2
FROM v
/*要求返回结果中没有“-”及数据以外的字符*/
WHERE translate(str, '-0123456789', '-') = '-'
/*第一位是“-”,第二位任意,保证了返回结果长度大于2*/
AND str LIKE '-_%';

translate函数说明的更多相关文章

  1. translate函数

    translate函数: select translate('ab23cd1', '.0123456789' || 'ab23cd1', '.0123456789') from dual 截图:

  2. oracle中的替换函数replace和translate函数

    .translate 语法:TRANSLATE(char, from, to) 用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串. 若from比to字符串长,那么在from中比 ...

  3. oracle学习笔记:字符串替换 replace、regexp_replace、translate函数

    1.replace 函数 语法:replace(char, search_string, replacement_string) --针对字符串替换 功能: ​ 将char中的字符串替换. ​ 当re ...

  4. Oracle translate 函数的用法, 以及和replace的区别

     translate 是用来替换字符的函数 语法:  translate(char, from_str,to_str)   其中,char是待处理的字符串. from_str是按顺序排列若干个要被替换 ...

  5. Python3:字符串的大小写和镜像字符串(swapcase()函数,chr(),ord(),translate()函数)

    题目: 请编程实现字符串的转换:1. 将"adsdsfdndsdsdfsfdsdASDSDEDSFE18754"字符串大写变小写,小写变大写:2. 并且将字符串变为镜像字符串,例如 ...

  6. Oracle translate 函数

    项目里要求对军人身份证特殊处理,只要数字位.本想用正则表达式,但是oracle9i不支持正则. 后来发现translate 可以实现功能. translate(string,from_str,to_s ...

  7. translate函数使用

    SQL> select data,translate(data,'0123456789','##########') as num1, replace(translate(data,'01234 ...

  8. Oracle Replace()函数与translate()函数 替换函数

    简要比较: replace 字符串级别的代替 如:SELECT REPLACE('accd','cd','ef') from dual; --> aefd translate 字符级别的代替 如 ...

  9. 【Oracle】translate函数用法解析

    转自:https://blog.csdn.net/shwanglp/article/details/52814173 基本语法: translate(string,from_str,to_str); ...

随机推荐

  1. HDU4605---Magic Ball Game(主席树 好题)

    题意:一颗二叉树,任意节点要么有两个孩子要么没孩子. 然后有一个球,从结点1开始往子孙结点走. 每碰到一个结点,有三种情况 如果此球重量等于该结点重量,球就停下了 如果此球重量小于该结点重量,则分别往 ...

  2. RSA算法python实现

    RSA算法是一种非对称加密算法,是现在广泛使用的公钥加密算法,主要应用是加密信息和数字签名.详情请看维基:http://zh.wikipedia.org/wiki/RSA%E5%8A%A0%E5%AF ...

  3. solr索引

    solr索引 当我们真正进入到Lucene源代码之中的时候,我们会发现: • Lucene的索引过程,就是按照全文检索的基本过程,将倒排表写成此文件格式的过程. • Lucene的搜索过程,就是按照此 ...

  4. jQuery的基本语法

    index.html代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> ...

  5. 【C#基础】json数据解析

    1.简单的获取某个键值 JToken jtoken = JToken.Parse(jsonStr); string jsjid = jtoken.Value<string>("J ...

  6. sql server 2008 在安装了活动目录以后无法启动服务了

    软件环境: windows server 2008 r2 ms sql server 2008 r2 在安装活动目录以前,数据库是正常运行的. 安装了活动目录以后,数据库启动时就提示无法启动.出错的信 ...

  7. 设计模式14---设计模式之命令模式(Command)(行为型)

    1.场景模拟 请用软件模拟开机过程 按下启动按钮 然后电源供电 主板开始加电自检 BIOS依次寻找其他设备的BIOS并且让他们初始化自检 开始检测CPU,内存,光盘,硬盘,光驱,串口,并口,软驱即插即 ...

  8. web性能优化——JSP

    一.啰嗦 做web开发的都知道,性能的重要性就不必强调了.就前端展示的工作来说,jsp大家都熟悉html更熟悉:web服务器tomcat应该是最熟悉的了:web方面的基础知识上来说,静态页面比动态页面 ...

  9. 〖转〗request.getparameter()和request.getAttribute()的区别

    getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 getParame ...

  10. 自定义PopupWindow动画效果

    public class RollActivity extends Activity { private View view; private Button btn; private PopupWin ...