一、语法:
TRANSLATE(string,from_str,to_str)
二、目的
返回将(所有出现的)from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。如果 from_str 比 to_str 长,那么在 from_str 中而不在 to_str 中的额外字符将从 string 中被删除,因为它们没有相应的替换字符。to_str 不能为空。Oracle 将空字符串解释为 NULL,并且如果TRANSLATE 中的任何参数为NULL,那么结果也是 NULL。
三、允许使用的位置
过程性语句和SQL语句。
四、示例
Sql代码
1. SELECT TRANSLATE('abcdefghij','abcdef','123456') FROM dual;
2. TRANSLATE (
3. --------------
4. 123456ghij
5.
6. SELECT TRANSLATE('abcdefghij','abcdefghij','123456') FROM dual;
7. TRANSL
8. ----------
9. 123456
语法:TRANSLATE(expr,from,to)
expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。
举例:
select translate('abcbbaadef','ba','#@') from dual (b将被#替代,a将被@替代)
select translate('abcbbaadef','bad','#@') from dual (b将被#替代,a将被@替代,d对应的值是空值,将被移走)
因此:结果依次为:@#c##@@def 和@#c##@@ef
语法:TRANSLATE(expr,from,to)
expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。
举例:
select translate('abcbbaadef','ba','#@') from dual (b将被#替代,a将被@替代)
select translate('abcbbaadef','bad','#@') from dual (b将被#替代,a将被@替代,d对应的值是空值,将被移走)
因此:结果依次为:@#c##@@def 和@#c##@@ef
示例如下:
示例一:将数字转换为9,其他的大写字母转换为X,然后返回。
SELECT TRANSLATE('2KRW229',
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'9999999999XXXXXXXXXXXXXXXXXXXXXXXXXX') "License"
FROM DUAL
示例二:将数字保留,将其他的大写字母移除。
SELECT TRANSLATE('2KRW229',
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'0123456789') "Translate example"
FROM DUAL
罗勇补充示例如下:
示例三:示例证明是按照字符来处理,不是按照字节来处理,如果to_string的字符数比from_string多的话,多出的字符数似乎没有什么用处,也不会引发异常。
SELECT TRANSLATE('我是中国人,我爱中国', '中国', 'China') "Translate example"
FROM DUAL
结果: 我是Ch人,我爱Ch
示例四:下面的示例证明,如果from_string的字符数大于to_string,那么多出的字符会被移除,也就是ina三个字符会从char参数中移除,当然区分大小写啦。
SELECT TRANSLATE('I am Chinese, I love China', 'China', '中国') "Translate example"
FROM DUAL
结果:I m 中国ese, I love 中国
示例五:以下示例证明,如果第二个参数为空字符串,整个返回null。
SELECT TRANSLATE('2KRW229',
'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'') "License"
FROM DUAL
结果:为空
示例六:在银行转帐时经常看见账户人只显示姓名的最后一个字,其余的用星号代替,我就用translate来做个类似的东西吧。
SELECT TRANSLATE('中国人',
substr('中国人',1,length('中国人') - 1),
rpad('*',length('中国人'),'*')) "License"
FROM DUAL
结果:**人
上面rpad()函数:
rpad函数从右边对字符串使用指定的字符进行填充
rpad(string,padded_length,[pad_string])
string 表示:被填充的字符串
padded_length 表示:字符的长度,是返回的字符串的数量,如果这个数量比原字符串的长度要短,rpad函数将会把字符串截取成从左到右的n个字符;
pad_string 是个可选参数,这个字符串是要粘贴到string的右边,如果这个参数未写,lpad函数将会在string的右边粘贴空格。
例如:
rpad('tech', 7); 将返回'tech '
rpad('tech', 2); 将返回'te'
rpad('tech', 8, '0'); 将返回'tech0000'
rpad('tech on the net', 15, 'z'); 将返回 'tech on the net'
rpad('tech on the net', 16, 'z'); 将返回 'tech on the netz'
SQL> select rpad('aa',5)||decode('bbb',null,' ',rpad('bbb',8))||rpad('cccc',12) from dual;
RPAD('AA',5)||DECODE('BBB',NUL
------------------------------
aa bbb cccc
相关推荐
Oracle Sql 提供了 RPAD() 和 LPAD() 函数,用于在字符串的右边或左边填充字符。 示例:SELECT RPAD('gao', 10, '*') FROM dual; -- 返回 *gao SELECT LPAD('gao', 10, '*') FROM dual; -- 返回 gao* 13. 字符串...
9. RPAD和LPAD函数:RPAD在字符串右侧填充指定字符以达到指定长度,LPAD在左侧填充。例如,`RPAD('gao', 10, '*')`返回'gao*****',而`LPAD('gao', 17, '*')`返回'*******gao*******'。 10. LTRIM和RTRIM函数:...
9. RPAD和LPAD函数:这两个函数用于在字符串的右侧(RPAD)或左侧(LPAD)填充指定数量的字符。如果原始字符串长度不足,它们会用指定的字符填充到指定的总长度。例如,'gao'经过LPAD和RPAD处理后,在左右两侧各填充...
Oracle数据库系统提供了丰富的函数库,包括数值函数、转换函数和字符串函数,这些函数极大地扩展了SQL语言的功能,方便了数据库操作。以下是对标题和描述中提及的一些重要函数的详细解释: 1. **数值函数** - **...
ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...
Oracle数据库中的日期函数、字符函数和聚合函数是数据库操作中常用的功能,对于数据处理和查询至关重要。以下将详细解释这些函数的用法和示例。 日期函数主要用于处理和操作日期数据,以下是一些主要的Oracle日期...
这两个函数用于在字符串左侧或右侧填充特定字符以达到指定长度。例如,`LPAD('hello', 10, '-')` 返回 '--hello-----',`RPAD('world', 10, '*')` 返回 'world****'. 8. **CONCAT()** 函数: CONCAT() 用于连接两...
sqlserver实现Oracle中Lpad和Rpad函数
LPAD和RPAD函数用于在字符串的左侧或右侧填充特定字符,以达到指定的总长度。例如,如果我们想在FAMILY_NAME左侧填充"$"符号,使其长度达到10,可以这样做: ```sql SELECT lpad(FAMILY_NAME, 10, '$') "Padded ...
填充函数 Rpad Lpad 函数 自己实践过的,有实验过程的
除此之外,Oracle还有其他很多功能强大的函数,如TRIM(同时去除字符串两侧的指定字符)、TRANSLATE(替换字符串中的一组字符为另一组字符)、REVERSE(反转字符串)等。这些函数在SQL查询和数据处理中发挥着重要...
`LPAD()`和`RPAD()`函数分别用于在字符串左侧和右侧填充指定字符以达到指定长度。 日期函数是Oracle中的另一大亮点,它们在处理日期和时间数据时不可或缺。`SYSDATE`返回当前系统的日期和时间,`ADD_MONTHS()`可以...
6. **LPAD()** 和 **RPAD()** 函数:在字符串左侧或右侧填充字符。`LPAD(string, length, pad_string)` 在左侧填充pad_string直到达到length,而`RPAD()`则在右侧填充。 7. **LENGTH()** 函数:计算字符串的长度。...
Oracle字符函数是数据库管理系统Oracle中处理字符串数据的重要工具,它们用于创建、操作和转换字符串。在Oracle中,字符串函数广泛应用于数据查询、分析和报告。以下是一些常用的Oracle字符串函数的详细说明: 1. ...
8. RPAD和LPAD函数:这两个函数用于在字符串的右侧或左侧填充特定字符。RPAD在右侧填充,LPAD在左侧填充。例如,LPAD(RPAD('gao', 10, '*'), 17, '*')返回'*******gao*******'。 9. LTRIM和RTRIM函数:LTRIM删除...
Oracle数据库中的字符函数是SQL查询中非常重要的组成部分,它们用于处理和操作字符串数据。下面将详细介绍标题和描述中提到的一些关键字符函数。 1. **大小写控制函数**: - `lower()` 函数用于将字符串转换为全...
15. RPAD() 函数:RPAD()函数与LPAD()类似,但在字符串右侧填充字符,以达到指定的总长度。 了解并熟练掌握这些单行字符串函数对于在Oracle数据库中进行数据操作和查询至关重要,它们可以帮助开发者高效地处理字符...
此外,`LPAD`和`RPAD`用于在字符串左侧或右侧填充字符,确保字符串达到指定长度。 接下来,**日期函数**对于处理时间数据至关重要。`SYSDATE`返回当前系统日期和时间,`ADD_MONTHS`可以增加或减少指定月份,`...
Oracle数据库系统提供了丰富的函数,包括数值函数、转换函数和字符串函数,帮助用户在处理数据时进行各种操作。这些函数在SQL查询和数据库应用程序开发中起着至关重要的作用。 1. 数值函数: - `ABS(m)`:计算并...
还有REPLACE()函数可以替换字符串中的特定字符或子串,以及LPAD()和RPAD()用于在字符串左侧或右侧填充指定字符以达到指定长度。 日期和时间处理是数据库操作中常见的需求,Oracle的内置日期函数如SYSDATE获取当前...