一文了解数据库translate函数的应用和原理(数据库translate函数)

在数据库中,常常会遇到需要处理字符串的情况。如何高效地处理这些字符串是我们所需要关注的问题。在这里,介绍一种非常常用的处理字符串的函数——translate函数。

10年积累的成都做网站、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计制作后付款的网站建设流程,更有印台免费网站建设让你可以放心的选择与我们合作。

一、translate函数的定义

translate函数是一个用于字符串替换的函数。它能够将字符串中指定的字符用另一组指定的字符进行替换。 translate函数的语法为:

translate(expr,str1,str2)

其中:

expr:需要进行字符串替换的表达式。

str1:需要被替换的字符(或字符)。

str2:替换的字符(或字符),长度必须和str1相等。

二、translate函数的应用

1.将字符串中某些字符替换为其他字符

例如,将“abc”替换为“def”。

SELECT TRANSLATE(‘abcdedcabac’, ‘abc’, ‘def’);

执行结果为:

dedfeddbefd

2.将字符串中的数字替换为字母

这种情况常常出现在需要生成随机字符序列的场景中。

SELECT TRANSLATE(‘1234567890’, ‘0123456789’, ‘abcdefghij’);

执行结果为:

abcdefghij

3.替换多个字符

有些时候我们需要用不同的字符替换字符串中的多个字符。

SELECT TRANSLATE(‘1223’, ‘123’, ‘ABC’);

执行结果为:

AAAC

三、translate函数的原理

translate函数实际上是调用了内置函数replace函数,只不过replace函数是按字节进行替换的,而translate函数是按字符进行替换的。 实现translate函数的步骤如下:

1. 遍历字符集str1,将其中每个字符c1替换为str2中相应的字符c2。如果str1和str2长度不一致,translate函数内部会在str2末尾补充空格,以满足长度要求。

2. 扫描字符串expr,如果字符c出现在str1中,则将其替换为用str2中相应位置的字符c2。

需要注意的是,当str1或str2为空时,translate函数将不会进行任何替换操作。

四、

translate函数可以快速地对字符串进行多个字符的替换操作,而且它比较省内存。但是,需要有两个等长的字符串进行替换,如果要替换多个字符,也需要消耗大量的内存。因此,当我们需要操作大量字符串时需要注意,避免出现内存溢出的情况。

成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!

在oracle里如何去掉数据后的回车换行符

oracle中去掉文本中的换行符、回车符、制表符小结

一、特殊符号ascii定义

制表符 chr(9)

换行符 chr(10)

回车符 chr(13)

二、嵌套使用repalce,注意每次只能悉含提交一个符号,如先回车再换行悉乱

select REPLACE(gg, chr(10), ”) from dual

要注意chr(13) | | chr(10) 此类结合使用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况

select translate(string,chr(13)||chr(10),’,’) from dual;

1、例子一

create table TEST_1

(

VA VARCHAR2(10),

VB NUMBER(2),

VC VARCHAR2(10),

VD NUMBER(11,2),

VE NUMBER(11,4),

VCL CLOB

);

SQL> select vb,vc,replace(vc,chr(10),”) as TT, translate(vc,chr(10),’,’) from test_1;

VB VCTTTRANSLATE(VC,CHR(10),’,’)

0 Aaaaaaaaa Aaaaaaaaa Aaaaaaaaa

1 Aaaaaaaaa Aaaaaaaaa Aaaaaaaaa

2 大Ba大Babc带 大Ba,b,c带

b

c带

3 CCC

1 DDD

5 AAA

5 AAA

0 AAA

0 AAA

2、例子二

要注意chr(13) | | chr(10) 此类结合使睁陆笑用的情况比较多,回车换行在notepad中是比较好看点的,所以要考虑此种情况

select vb,vc,replace(vc,chr(10),”) as TT, translate(vc,chr(13)||chr(10),’,’) from test_1;

SQL> select vb,vc,replace(vc,chr(10),”) as TT, translate(vc,chr(13)||chr(10),’,’) from test_1;

VB VCTTTRANSLATE(VC,CHR(13)||CHR(10),

0 Aaaaaaaaa Aaaaaaaaa Aaaaaaaaa

1 Aaaaaaaaa Aaaaaaaaa Aaaaaaaaa

2 大Ba大Babc带 大Babc带

b

c带

3 CCC

1 DDD

5 AAA

5 AAA

0 AAA

0 AAA

11 rows selected

三、对于字符大对象的符号处理

对于clob字段中的符号处理,先to_char然后一样的处理

SQL> select to_char(vcl),replace(to_char(vcl),chr(10),”) from test_1;

TO_CHAR(VCL)REPLACE(TO_CHAR(VCL),CHR(10),’

嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行嵌套使用repalce,注意每次只能提交一个符号,如先回车再换行select REPLACE(gg, chr(10), ”) from dualsel

select REPLACE(gg, chr(10), ”) from dual

select translate(string,chr(13)||chr(10),’,’) from dual;

func:

2.2.单记录字符函数

函 数说 明

ASCII返回对应字符的十进制值

CHR给出十进制返回字符

CONCAT 拼接两个字符串,与 ||相同

INITCAT 将字符串的之一个字母变为大写

INSTR找出某个字符串的位置

INSTRB 找出某个字符串的位置和字节数

LENGTH 以字符给出字符串的长度

LENGTHB 以字节给出字符串的长度

LOWER将字符串转换成小写

LPAD使用指定的字符在字符的左边填充

LTRIM在左边裁剪掉指定的字符

RPAD使用指定的字符在字符的右边填充

RTRIM在右边裁剪掉指定的字符

REPLACE 执行字符串搜索和替换

SUBSTR 取字符串的子串

SUBSTRB 取字符串的子串(以字节)

SOUNDEX 返回一个同音字符串

TRANSLATE 执行字符串搜索和替换

TRIM裁剪掉前面或后面的字符串

UPPER将字符串变为大写

NVL以一个值来替换空值

ASCII()

是字符串。返回与指定的字符对应的十进制数。

SQL> select ascii(‘A’) A,ascii(‘a’) a,ascii(‘0’) zero,ascii(‘ ‘) space from dual;

A a ZERO SPACE

SQL> select ascii(‘赵’) zhao,length(‘赵’) leng from dual;

ZHAOLENG

1

CHR()

给出整数,返回对应字符。如:

SQL> select chr(54740) zhao,chr(65) chr65 from dual;

ZH C

— –

赵 A

CONCAT(,)

SQL> select concat(‘010-‘,”)||’转23’ 赵元杰 from dual;

赵元杰

转23

INITCAP()

返回字符串c并之一个字母变为大写。例如:

SQL> select initcap(‘simth’) upp from dual;

UPP

—–

Simth

INSTR(, > )

在一个字符串中搜索指定的字符,返回发现指定的字符的位置。

C1: 被搜索的字符串

C2: 希望搜索的字符串

I: 搜索的开始位置,缺省是1

J: 出现的位置,缺省是1。

SQL> SELECT INSTR (‘Oracle Training’, ‘ra’, 1, 2) “Instring” FROM DUAL;

Instring

INSTRB(, > )

除了返回的字节外 ,与INSTR相同,

LENGTH( )

返回字符串 c 的长度。

SQL> l

1 select name,length(name),addr,length(addr),sal,length(to_char(sal))

2* from nchar_tst

SQL> /

NAME LENGTH(NAME) ADDRLENGTH(ADDR) SAL LENGTH(TO_CHAR(SAL))

赵元杰 北京市海淀区9999.

LENGTHB( )

以字节返回字符串的字节数。

SQL> select name,lengthb(name),length(name) from nchar_tst;

NAME LENGTHB(NAME)LENGTH(NAME)

赵元杰 3

LOWER ( )

返回字符串并将所有字符变为小写。

SQL> select lower(‘AaBbCcDd’) AaBbCcDd from dual;

AABBCCDD

aabbccdd

UPPER( )

与 LOWER 相反,将给出字符串变为大写。如:

SQL> select upper(‘AaBbCcDd’) AaBbCcDd from dual;

AABBCCDD

AABBCCDD

RPAD 和LPAD(粘贴字符)

RPAD(string,Length)

LPAD(string,Length)

RPAD在列的右边粘贴字符;

LPAD在列的左边粘贴字符。

例 1:

SQL>select RPAD(City,35,’.’),temperature from weather;

RPAD(City,35,’.’)temperature

CLEVELAND……

LOS ANGELES..

…………………….

(即不够 35 个字符用’.’填满)

LTRIM(左截断)RTRIM(右截断) 函数

LTRIM (string )

Left TRIM (左截断)删去左边出现的任何set 字符。

RTRIM (string )

Right TRIM (右截断)删去右边出现的任何set 字符。

例1:

SELECT RTRIM (‘Mother Theresa, The’, ‘The’) “Example of Right

Trimming” FROM DUAL;

Example of Right

Mother Theresa,

SUBSTR Substr(string,start)

取子字符串中函数

对字串 (或字段),从 start字符 开始,连续取 count 个字符并返回结果,如果没有指 count

则一直取到尾。

select phone,substr(phone,1,3) || ‘0’ || substr(phone,4)

from telecommunication where master ’中国电信’;

SUBSTRB(string,start)

对字串 (或字段),从 start字节 开始,连续取 count 个字节并返回结果,如果没有指 count

则一直取到尾。

REPLACE (‘string’ )

String: 希望被替换的字符串或变量。

String_in: 被替换字符串。

String_out: 要替换字符串。

SQL> select replace(‘Informaix 中国公司’,’Informaix’,’IBM Informix’)

2 IBM 数据库 from dual;

IBM 数据库

IBM Informix 中国公司

SOUNDEX( )

返回一个与给定的字符串读音相同的字符串(不管拼写是否一样)。

SELECT DPL_NAME FROM DENIED_PARTIES_LIST WHERE

SOUNDEX(DPL_NAME) = SOUNDEX(‘Saddam Hussain’) ;

DPL_NAME

—-

Al Husseni

Sadda Al Sada.

REPLACE (‘string’ )

String:希望被替换的字符串或变量。

String_in: 被替换字符串。

String_out: 要替换字符串。

SELECT REPLACE (‘Oracle’, ‘Or’, ‘Mir’) “Example “ FROM DUAL;

Example

Miracle

TRIM ( FROM )

RIM可以使你对给定的字符串进行裁剪(前面,后面或前后)。

z 如果指定 LEADING, Oracle 从trim_char 中裁剪掉前面的字符;

z 如果指定TRAILING, Oracle 从trim_char 中裁剪掉尾面的字符;

z 如果指定两个都指定或一个都没有给出,Oracle从trim_char 中裁剪掉前面及尾面的字

符;

z 如果不指定 trim_character, 缺省为空格符;

z 如果只指定trim_source, Oracle Oracle从trim_char 中裁剪掉前面及尾面的字符。

例子:将下面字符串中的前面和后面的‘ ‘字符都去掉:

SELECT TRIM (0 FROM) “TRIM Example” FROM DUAL;

TRIM example

—-

语法:TRANSLATE(expr,from,to)

om,to) expr: 代表一串字符,

expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。

举例:

select translate(‘abcbbaadef’,’ba’,’#@’) from dual (b将被#替代,a将被@替代)

select translate(ab

select translate(‘abcbbaadef’,’bad’,’#@’) from dual (b将被#替代,a将被@替代,d对应的值是空值,将被移走)

因此:结果依次为:@#c##@@def 和@#c##@@ef

替喊如哗换数据中所有回车和换行可以用

replace(column,chr(10))

replace(replace(column,chr(10)),chr(13))

或者利用translate函数。

如果只是替换末尾的回车换郑行行橡橡用rtrim

rtrim(column,chr(10)) –有些系统回车换行就是一个chr(10)

transform的translate、scale、rotate、skew(2D)的简单使用

border: 1px dashed red;

solid

为实线;

dashed

为虚线。

margin: 0 auto; ,

margin

后面如果中银裤只有

两个参数

的话,之一个表示 top 和 bottom ,卖简第二个表示 left 和 right 。

因为0 auto,表示上下边界为0,左右则根据宽度自适应相同值(即居中)。

如上图所示,X轴偏移的方法有如下三个

如上图所示,Y轴偏移的方法有如下两个

如上图所示,Y轴偏移的方法有如下一个

注意搏悄:

上述所说的都是X和Y轴的正向偏移,我们也可以给它设置成

负数

,使其往反向偏移,如 transform: translate(-100px) ;即为向x轴的反向(左侧)偏移了100px。

该函数只

接受数字

,不接受类似于”100px“。

如上图所示,X轴缩放的方法有如下两个

如上图所示,Y轴缩放的方法有如下两个

如上图所示,Y轴缩放的方法有如下两个

该函数只接受一个参数,也就是

角度

角度可以由以下四种不同的单位类型来定义。

该函数只接受一个参数,也就是角度。

如上图所示,X轴倾斜的方法有如下两个

如上图所示,Y轴倾斜的方法有如下一个

如上图所示,X/Y轴倾斜的方法有如下一个

关于数据库translate函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

创新互联-老牌IDC、云计算及IT信息化服务领域的服务供应商,业务涵盖IDC(互联网数据中心)服务、云计算服务、IT信息化、AI算力租赁平台(智算云),软件开发,网站建设,咨询热线:028-86922220

本文标题:一文了解数据库translate函数的应用和原理(数据库translate函数)
标题路径:http://www.mswzjz.cn/qtweb/news17/541967.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能