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. HDU_1230——火星A+B,加法进制问题

    Problem Description 读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数.例如:地球上的10进制数2,在火星上 ...

  2. 修改oracle服务器所在linux主机名

    1.修改/etc/hosts 2.修改 /etc/sysconfig/network 3.修改oracle的 listener.ora 4.修改 tnsnames.ora  

  3. lession2:使用HTTP Cookie 管理器来传递cookies值

    在实际进行压力测试的时候,经常会出现使用cookie传递值的情况,此时就需要使用[HTTP Cookie 管理器]来传递cookie值. 1.参照lession1中,创建线程组.sampler及聚合报 ...

  4. mysql简单练习

    数据库入门 2.1 引入 数据保存到内存: 优点: 1)读写非常快 缺点: 1)程序关闭导致数据丢失 数据保存到文件: 优点: 1)数据可以永久保存 缺点: 1)频繁地IO操作,效率不高! 2)数据管 ...

  5. bui上手体验

    在最近的项目中,接触到了bui这个后台管理框架 主页地址:http://builive.com/ 主页上也有一个后台管理的Demo:http://builive.com/apps/default/ma ...

  6. SurfaceView类透明背景设置

    将SurfaceView背景设置为透明,主要添加以下几句话就可以了: 在SurfaceView创建后设置一下下面的参数: setZOrderOnTop(true); getHolder().setFo ...

  7. Android 属性动画(一)

    1.概述 Android提供了几种动画类型:View Animation .Drawable Animation .Property Animation .View Animation相当简单,不过只 ...

  8. Multi-touch.

    TP(Multi-touch). 1.Win7有6个版本,分别如下. Windows 7 Starter (初级版)                                        不支 ...

  9. 网页、JavaScript 数据类型

    JavaScript 数据类型 一.基本数据类型: 字符串.数字.布尔.日期和时间 JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型: 1 v ...

  10. 关于获得本机Mac Address的方法

    网络上有讲获得Mac address的方法有如下: 1. 发送ARP命令,利用返回的Mac Address缓冲区得到 2. 用NetworkInterface.GetAllNetworkInterfa ...