SQL 字符串函数
SQL字符串函数主要用于字符串操作。 下表详述了重要的字符串函数:
| Name | Description |
|---|---|
| ASCII() | 返回最左边字符的数值 |
| BIN() | 返回参数的字符串表示形式 |
| BIT_LENGTH() | 返回参数的长度(以位为单位) |
| CHAR_LENGTH() | 返回参数中的字符数 |
| CHAR() | 返回每个传递的整数的字符 |
| CHARACTER_LENGTH() | 和CHAR_LENGTH()相同,返回参数中的字符数 |
| CONCAT_WS() | 返回与separator分隔 |
| CONCAT() | 返回连接的字符串 |
| CONV() | 在不同数字之间转换数字 |
| ELT() | 返回索引号处的字符串 |
| EXPORT_SET() | 返回一个字符串,使得对于值位中设置的每个位,您将获得一个on字符串,并且对于每个unset位,您将得到一个off字符串 |
| FIELD() | 返回后续参数中第一个参数的索引(位置) |
| FIND_IN_SET() | 返回第二个参数中第一个参数的索引位置 |
| FORMAT() | 返回格式为指定小数位数的数字 |
| HEX() | 返回十六进制值的字符串表示形式 |
| INSERT() | 在指定位置插入一个子字符串,直到指定的字符数 |
| INSTR() | 返回第一次出现子字符串的索引 |
| LCASE() | 同LOWER() |
| LEFT() | 返回指定的最左边的字符数 |
| LENGTH() | 返回字符串的长度(以字节为单位) |
| LOAD_FILE() | 加载命名文件 |
| LOCATE() | 返回第一次出现子字符串的位置 |
| LOWER() | 以小写返回参数 |
| LPAD() | 返回字符串参数,用指定的字符串向左填充 |
| LTRIM() | 删除前导空格 |
| MAKE_SET() | 返回一组逗号分隔的字符串,它们具有设置的位中的相应位 |
| MID() | 返回从指定位置开始的子字符串 |
| OCT() | 返回八进制参数的字符串表示形式 |
| OCTET_LENGTH() | 同LENGTH(),返回字符串的长度(以字节为单位) |
| ORD() | 如果参数的最左边的字符是多字节字符,则返回该字符的代码 |
| POSITION() | 同LOCATE(),返回第一次出现子字符串的位置 |
| QUOTE() | 转义要在SQL语句中使用的参数 |
| REGEXP | 使用正则表达式的模式匹配 |
| REPEAT() | 重复字符串指定的次数 |
| REPLACE() | 替换指定字符串的出现 |
| REVERSE() | 反转字符串中的字符 |
| RIGHT() | 返回指定的最右边字符数 |
| RPAD() | 追加字符串指定的次数 |
| RTRIM() | 删除尾随空格 |
| SOUNDEX() | 返回由四个字符组成的代码 (SOUNDEX) 以评估两个字符串的相似性 |
| SOUNDS LIKE | 同SOUNDEX() |
| SPACE() | 返回指定数目个空格的字符串 |
| STRCMP() | 比较两个字符串 |
| SUBSTRING_INDEX() | 返回在分隔符的指定出现次数之前的字符串中的子字符串 |
| SUBSTRING(), SUBSTR() | 返回指定的子字符串 |
| TRIM() | 删除前导和尾随空格 |
| UCASE() | 同UPPER |
| UNHEX() | 将每对十六进制数字转换为一个字符 |
| UPPER() | 转换为大写 |
ASCII(STR)
返回字符串str的最左字符的数值。如果str是空字符串,返回0。,则返回null str为NULL。的ASCII()适用于从0到255的数字值的字符。
SQL> SELECT ASCII('2');
+---------------------------------------------------------+
| ASCII('2') |
+---------------------------------------------------------+
| 50 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT ASCII('dx');
+---------------------------------------------------------+
| ASCII('dx') |
+---------------------------------------------------------+
| 100 |
+---------------------------------------------------------+
1 row in set (0.00 sec)BIN(N)
返回的N,其中N是一个longlong(BIGINT)数字的二进制值的字符串表示。这相当于CONV(N,10,2)。,则返回null N为NULL。
SQL> SELECT BIN(12); +---------------------------------------------------------+ | BIN(12) | +---------------------------------------------------------+ | 1100 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
BIT_LENGTH(STR)
返回位字符串str的长度。
SQL> SELECT BIT_LENGTH('text');
+---------------------------------------------------------+
| BIT_LENGTH('text') |
+---------------------------------------------------------+
| 32 |
+---------------------------------------------------------+
1 row in set (0.00 sec)CHAR(N,... [使用charset_name中])
CHAR()解释每一个参数n为整数并返回由这些整数的代码值给出的字符的字符串。NULL值被跳过。
SQL> SELECT CHAR(77,121,83,81,'76'); +---------------------------------------------------------+ | CHAR(77,121,83,81,'76') | +---------------------------------------------------------+ | MySQL | +---------------------------------------------------------+ 1 row in set (0.00 sec)
CHAR_LENGTH(STR)
返回字符测量字符串str的长度。一个多字节字符算作一个字符。这意味着,对于包含五个二字节字符,length()返回10,而CHAR_LENGTH一个字符串()返回5。
SQL> SELECT CHAR_LENGTH("text");
+---------------------------------------------------------+
| CHAR_LENGTH("text") |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)CHARACTER_LENGTH(STR)
CHARACTER_LENGTH()是CHAR_LENGTH()的同义词。
CONCAT(STR1,STR2,...)
返回从串联参数产生的字符串。可能有一个或多个参数。如果所有参数都是非二进制字符串,结果是一个非二进制串。如果参数包括任何二进制串,结果是一个二进制串。一个数字参数被转换为等值的二进制字符串的形式; 如果要避免这种情况,你可以使用显式类型转换,如下面的例子:
SQL> SELECT CONCAT('My', 'S', 'QL');
+---------------------------------------------------------+
| CONCAT('My', 'S', 'QL') |
+---------------------------------------------------------+
| MySQL |
+---------------------------------------------------------+
1 row in set (0.00 sec)CONCAT_WS(分离器,STR1,STR2,...)
CONCAT_WS()表示连接具有分离器和CONCAT是一种特殊形式的()。第一个参数是的参数剩下的分隔符。分离器要连接的串之间加入。分隔符可以是一个字符串,如可以的参数的其余部分。如果隔板是NULL,则结果为NULL。
SQL> SELECT CONCAT_WS(',','First name','Last Name' );
+---------------------------------------------------------+
| CONCAT_WS(',','First name','Last Name' ) |
+---------------------------------------------------------+
| First name,Last Name |
+---------------------------------------------------------+
1 row in set (0.00 sec)CONV(N,from_base,to_base)
不同数量的碱基间转换数字。返回数N的字符串表示,从from_base基转换为to_base。返回NULL如果任何参数是NULL。参数N被解释为一个整数,但也可以指定为一个整数或字符串。最小基本为2和最大碱是36。如果to_base是一个负数,N被看作一个带符号的数。否则,N被当作无符号。CONV()可与64位精度。
SQL> SELECT CONV('a',16,2);
+---------------------------------------------------------+
| CONV('a',16,2) |
+---------------------------------------------------------+
| 1010 |
+---------------------------------------------------------+
1 row in set (0.00 sec)ELT(N,STR1,STR2,STR3,...)
返回STR1如果N = 1,STR2如果N = 2,等等。,则返回null N大于参数的数目大于小于1或。ELT()是FIELD的补()。
SQL> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo'); +---------------------------------------------------------+ | ELT(1, 'ej', 'Heja', 'hej', 'foo') | +---------------------------------------------------------+ | ej | +---------------------------------------------------------+ 1 row in set (0.00 sec)
EXPORT_SET(位,开,关[,分隔符[,NUMBER_OF_BITS]])
返回这样的字符串,每一点的价值位设置,你会得到一个关于字符串,并在值未设定每一位,你会得到一个关闭的字符串。在比特位被从右到左(从低阶到高阶比特)审查。字符串被添加到结果从左至右,由分离字符串分开(默认为逗号字符。,)。检查位的数目是由NUMBER_OF_BITS(默认为64)给出。
SQL> SELECT EXPORT_SET(5,'Y','N',',',4); +---------------------------------------------------------+ | EXPORT_SET(5,'Y','N',',',4) | +---------------------------------------------------------+ | Y,N,Y,N | +---------------------------------------------------------+ 1 row in set (0.00 sec)
FIELD(STR,STR1,STR2,STR3,...)
返回其中str1,STR2,STR3,...名单海峡指数(位置从1开始)。如果找不到海峡则返回0。
SQL> SELECT FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
+---------------------------------------------------------+
| FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo') |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)FIND_IN_SET(STR,strlist)
如果字符串str是在由N-串的字符串列表strlist返回的1到N的范围内的值。
SQL> SELECT FIND_IN_SET('b','a,b,c,d');
+---------------------------------------------------------+
| SELECT FIND_IN_SET('b','a,b,c,d') |
+---------------------------------------------------------+
| 2 |
+---------------------------------------------------------+
1 row in set (0.00 sec)FORMAT(X,D)
格式数X像'#,###,###。##',格式四舍五入至小数点后D位,而返回结果为一个字符串。如果D为0,结果没有小数点或小数部分。
SQL> SELECT FORMAT(12332.123456, 4); +---------------------------------------------------------+ | FORMAT(12332.123456, 4) | +---------------------------------------------------------+ | 12,332.1235 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
HEX(N_or_S)
如果N_or_S是一个数字,返回N,其中N是一个longlong(BIGINT)数字的十六进制值的字符串表示。这相当于CONV(N,10,16)。
如果N_or_S是一个字符串,返回N_or_S其中N_or_S每个字符转换为两个十六进制数字的十六进制字符串表示。
SQL> SELECT HEX(255); +---------------------------------------------------------+ | HEX(255) | +---------------------------------------------------------+ | FF | +---------------------------------------------------------+ 1 row in set (0.00 sec) SQL> SELECT 0x616263; +---------------------------------------------------------+ | 0x616263 | +---------------------------------------------------------+ | abc | +---------------------------------------------------------+ 1 row in set (0.00 sec)
INSERT(STR,POS,LEN,中newstr)
返回字符串str,在位置POS和len字符长的字符串替换中newstr开头的字符串。如果pos不是字符串的长度内返回原始字符串。取代从位置pos串的其余部分如果len不串的其余部分的长度范围内。返回NULL如果任何参数是NULL。
SQL> SELECT INSERT('Quadratic', 3, 4, 'What');
+---------------------------------------------------------+
| INSERT('Quadratic', 3, 4, 'What') |
+---------------------------------------------------------+
| QuWhattic |
+---------------------------------------------------------+
1 row in set (0.00 sec)INSTR(STR,SUBSTR)
返回字符串str子串SUBSTR中第一次出现的位置。这是一样的本地(两个参数的形式),除此以外,参数的顺序是相反的。
SQL> SELECT INSTR('foobarbar', 'bar');
+---------------------------------------------------------+
| INSTR('foobarbar', 'bar') |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)LCASE(STR)
LCASE()是较低的()的同义词。
LEFT(STR,LEN)
如果任何参数是NULL,返回从字符串str,或NULL最左边的len个字符。
SQL> SELECT LEFT('foobarbar', 5);
+---------------------------------------------------------+
| LEFT('foobarbar', 5) |
+---------------------------------------------------------+
| fooba |
+---------------------------------------------------------+
1 row in set (0.00 sec)长度(STR)
返回字符串str的长度,以字节为单位。一个多字节字符算作多字节。这意味着,对于包含五个二字节字符,length()返回10,而CHAR_LENGTH一个字符串()返回5。
SQL> SELECT LENGTH('text');
+---------------------------------------------------------+
| LENGTH('text') |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)LOAD_FILE(FILE_NAME)
读取该文件,作为一个字符串返回文件内容。要使用此功能,该文件必须位于服务器主机上,则必须指定完整路径的文件,你必须有FILE权限。该文件必须由所有它的尺寸小于max_allowed_packet个字节可读。
如果该文件不存在或无法读取,因为上述条件之一不满足,则函数返回NULL。
由于SQL 5.0.19,即给定为文字字符串文件名的character_set_filesystem系统变量控制的解释。
SQL> UPDATE table_test
-> SET blob_col=LOAD_FILE('/tmp/picture')
-> WHERE id=1;
...........................................................LOCATE(SUBSTR,STR),本地(SUBSTR,STR,POS)
第一种语法返回字符串str子串SUBSTR中第一次出现的位置。第二个语法返回字符串str子串SUBSTR位置pos处开始第一次出现的位置。如果SUBSTR不是str中,则返回0。
SQL> SELECT LOCATE('bar', 'foobarbar');
+---------------------------------------------------------+
| LOCATE('bar', 'foobarbar') |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)LOWER(STR)
返回改为根据当前字符集映射到小写字母的字符串str。
SQL> SELECT LOWER('QUADRATICALLY');
+---------------------------------------------------------+
| LOWER('QUADRATICALLY') |
+---------------------------------------------------------+
| quadratically |
+---------------------------------------------------------+
1 row in set (0.00 sec)LPAD(STR,LEN,padstr填补)
返回字符串str,左填充用字符串padstr填补到len字符长度。如果str的长度大于len,则返回值被缩短至len个字符。
SQL> SELECT LPAD('hi',4,'??');
+---------------------------------------------------------+
| LPAD('hi',4,'??') |
+---------------------------------------------------------+
| ??hi |
+---------------------------------------------------------+
1 row in set (0.00 sec)LTRIM(STR)
返回删除了前导空格字符的字符串str。
SQL> SELECT LTRIM(' barbar');
+---------------------------------------------------------+
| LTRIM(' barbar') |
+---------------------------------------------------------+
| barbar |
+---------------------------------------------------------+
1 row in set (0.00 sec)MAKE_SET(位,STR1,STR2,...)
返回一组值(含分隔子字符串,个字符),包括那些在设置位的相应位的字符串。STR1对应于位0,STR2到第1位,依此类推。str1中,str2的NULL值,......不添加到结果。
SQL> SELECT MAKE_SET(1,'a','b','c'); +---------------------------------------------------------+ | MAKE_SET(1,'a','b','c') | +---------------------------------------------------------+ | a | +---------------------------------------------------------+ 1 row in set (0.00 sec)
MID(STR,POS,LEN)
MID(STR,POS,LEN)是SUBSTRING的同义词(STR,POS,LEN)。
OCT(N)
返回N,其中N是一个longlong(BIGINT)数字八进制值的字符串表示。这相当于CONV(N,10,8)。,则返回null N为NULL。
SQL> SELECT OCT(12); +---------------------------------------------------------+ | OCT(12) | +---------------------------------------------------------+ | 14 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
OCTET_LENGTH(STR)
OCTET_LENGTH()是LENGTH()的同义词。
ORD(STR)
如果字符串str的最左边的字符是一个多字节字符,返回该字符,使用此公式其组成字节的数值计算的代码:
(1st byte code) + (2nd byte code . 256) + (3rd byte code . 2562) ...
如果最左边的字符不是一个多字节字符,ORD()返回相同的值作为ASCII()函数。
SQL> SELECT ORD('2');
+---------------------------------------------------------+
| ORD('2') |
+---------------------------------------------------------+
| 50 |
+---------------------------------------------------------+
1 row in set (0.00 sec)POSITION(SUBSTR IN STR)
POSITION(SUBSTR str中)可以找到同义词(SUBSTR,STR)。
QUOTE(STR)
引号的字符串,以产生可以用作SQL语句中正确转义数据值的结果。该字符串返回单引号和单引号('),反斜线('\'),ASCII NUL和Control-Z前面有反斜杠的每个实例封闭。如果参数为NULL,则返回值是不封闭单引号的单词“NULL”。
SQL> SELECT QUOTE('Don\'t!');
+---------------------------------------------------------+
| QUOTE('Don\'t!') |
+---------------------------------------------------------+
| 'Don\'t!' |
+---------------------------------------------------------+
1 row in set (0.00 sec)注:请检查您的安装有任何错误使用此功能,那么不要使用此功能。
EXPR正则表达式模式
这个函数执行对图案expr的模式匹配。返回1如果expr匹配pat; 否则返回0。如果expr或拍拍为NULL,则结果为NULL。REGEXP不区分大小写,与二进制字符串使用时除外。
SQL> SELECT 'ABCDEF' REGEXP 'A%C%%'; +---------------------------------------------------------+ | 'ABCDEF' REGEXP 'A%C%%' | +---------------------------------------------------------+ | 0 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
另一个例子是:
SQL> SELECT 'ABCDE' REGEXP '.*'; +---------------------------------------------------------+ | 'ABCDE' REGEXP '.*' | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
让我们看一个例子:
SQL> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line'; +---------------------------------------------------------+ | 'new*\n*line' REGEXP 'new\\*.\\*line' | +---------------------------------------------------------+ | 1 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
重复序列(STR,计数)
返回由字符串str重复的次数的字符串。如果计数小于1,返回一个空字符串。如果str或计数为NULL,则返回NULL。
SQL> SELECT REPEAT('SQL', 3);
+---------------------------------------------------------+
| REPEAT('SQL', 3) |
+---------------------------------------------------------+
| SQLSQLSQL |
+---------------------------------------------------------+
1 row in set (0.00 sec)REPLACE(STR,from_str均被,to_str)
返回与字符串的所有出现由字符串to_str from_str均被替换字符串str。REPLACE()的from_str均被搜索时进行区分大小写的匹配。
SQL> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
+---------------------------------------------------------+
| REPLACE('www.mysql.com', 'w', 'Ww') |
+---------------------------------------------------------+
| WwWwWw.mysql.com |
+---------------------------------------------------------+
1 row in set (0.00 sec)REVERSE(STR)
返回并反转字符顺序的字符串str。
SQL> SELECT REVERSE('abcd');
+---------------------------------------------------------+
| REVERSE('abcd') |
+---------------------------------------------------------+
| dcba |
+---------------------------------------------------------+
1 row in set (0.00 sec)RIGHT(STR,LEN)
如果任何参数是NULL,返回从字符串str,或NULL最右边的len个字符。
SQL> SELECT RIGHT('foobarbar', 4);
+---------------------------------------------------------+
| RIGHT('foobarbar', 4) |
+---------------------------------------------------------+
| rbar |
+---------------------------------------------------------+
1 row in set (0.00 sec)RPAD(STR,LEN,padstr填补)
返回字符串str,右侧填充字符串padstr填补到len字符长度。如果str的长度大于len,则返回值被缩短至len个字符。
SQL> SELECT RPAD('hi',5,'?');
+---------------------------------------------------------+
| RPAD('hi',5,'?') |
+---------------------------------------------------------+
| hi??? |
+---------------------------------------------------------+
1 row in set (0.00 sec)RTRIM(STR)
返回尾随去掉空格字符的字符串str。
SQL> SELECT RTRIM('barbar ');
+---------------------------------------------------------+
| RTRIM('barbar ') |
+---------------------------------------------------------+
| barbar |
+---------------------------------------------------------+
1 row in set (0.00 sec)SOUNDEX(STR)
返回从STR一个同音字符串。两个字符串听起来差不多了应该有相同的同音字符串。一个标准的soundex字符串是四个字符长,但SOUNDEX()函数返回一个任意长的字符串。您可以使用SUBSTRING()的结果得到一个标准的同音字符串。在str中所有非字母字符将被忽略。在AZ范围之外的所有国际字母符号被视为元音字母。
SQL> SELECT SOUNDEX('Hello');
+---------------------------------------------------------+
| SOUNDEX('Hello') |
+---------------------------------------------------------+
| H400 |
+---------------------------------------------------------+
1 row in set (0.00 sec)表达式1听起来像表达式2
这是相同的SOUNDEX(表达式1)= SOUNDEX(表达式2)。
SPACE(N)
返回由N空格字符的字符串。
SQL> SELECT SPACE(6); +---------------------------------------------------------+ | SELECT SPACE(6) | +---------------------------------------------------------+ | ' ' | +---------------------------------------------------------+ 1 row in set (0.00 sec)
STRCMP(STR1,STR2)
比较两个字符串,返回0,如果这两个字符串相等,则返回-1,如果第一个参数是根据当前的排序顺序,否则,返回1小于第二个。
SQL> SELECT STRCMP('MOHD', 'MOHD');
+---------------------------------------------------------+
| STRCMP('MOHD', 'MOHD') |
+---------------------------------------------------------+
| 0 |
+---------------------------------------------------------+
1 row in set (0.00 sec)另一个例子是:
SQL> SELECT STRCMP('AMOHD', 'MOHD');
+---------------------------------------------------------+
| STRCMP('AMOHD', 'MOHD') |
+---------------------------------------------------------+
| -1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)让我们看一个例子:
SQL> SELECT STRCMP('MOHD', 'AMOHD');
+---------------------------------------------------------+
| STRCMP('MOHD', 'AMOHD') |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
1 row in set (0.00 sec)SUBSTRING(STR,POS)
SUBSTRING(STR FROM POS)
SUBSTRING(STR,POS,LEN)
SUBSTRING(STR FROM销售点LEN)
没有len参数的格式从字符串str位置pos处开始返回一个字符串。用len参数的格式从字符串str长返回一个字符串len个字符,从位置pos开始。从使用的形式是标准的SQL语法。另外,也可以用于POS负值。在这种情况下,串的开始是从字符串的末尾,而不是一开始POS字符。负值可以被用于在任何的该函数的形式POS。
SQL> SELECT SUBSTRING('Quadratically',5);
+---------------------------------------------------------+
| SSUBSTRING('Quadratically',5) |
+---------------------------------------------------------+
| ratically |
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT SUBSTRING('foobarbar' FROM 4);
+---------------------------------------------------------+
| SUBSTRING('foobarbar' FROM 4) |
+---------------------------------------------------------+
| barbar |
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT SUBSTRING('Quadratically',5,6);
+---------------------------------------------------------+
| SUBSTRING('Quadratically',5,6) |
+---------------------------------------------------------+
| ratica |
+---------------------------------------------------------+
1 row in set (0.00 sec)SUBSTRING_INDEX(STR,DELIM,计数)
返回从字符串str分隔符delim中的计数发生前的子字符串。如果计数是正的,则返回一切最终定界符(从左边算起)的左侧。如果count是负数,则返回一切最终定界符(从右边开始计数)的权利。SUBSTRING_INDEX()为DELIM搜索时进行区分大小写的匹配。
SQL> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
+---------------------------------------------------------+
| SUBSTRING_INDEX('www.mysql.com', '.', 2) |
+---------------------------------------------------------+
| www.mysql |
+---------------------------------------------------------+
1 row in set (0.00 sec)TRIM([{BOTH |领导| TRAILING} [remstr] FROM] STR)
TRIM([remstr FROM] STR)
返回删除了所有remstr前缀或后缀字符串str。如果两个,领导,或尾随给出没有说明符,则假定BOTH。remstr为可任选的,并且如果未指定,空格被删除。
SQL> SELECT TRIM(' bar ');
+---------------------------------------------------------+
| TRIM(' bar ') |
+---------------------------------------------------------+
| bar |
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
+---------------------------------------------------------+
| TRIM(LEADING 'x' FROM 'xxxbarxxx') |
+---------------------------------------------------------+
| barxxx |
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
+---------------------------------------------------------+
| TRIM(BOTH 'x' FROM 'xxxbarxxx') |
+---------------------------------------------------------+
| bar |
+---------------------------------------------------------+
1 row in set (0.00 sec)
SQL> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
+---------------------------------------------------------+
| TRIM(TRAILING 'xyz' FROM 'barxxyz') |
+---------------------------------------------------------+
| barx |
+---------------------------------------------------------+
1 row in set (0.00 sec)UCASE(STR)
UCASE()是UPPER()的同义词。
UNHEX(STR)
执行HEX(STR)的逆运算。也就是说,它解释每对十六进制数字的参数作为数字,并将其转换到由数字表示的字符。所得字符被返回为二进制字符串。
SQL> SELECT UNHEX('4D7953514C');
+---------------------------------------------------------+
| UNHEX('4D7953514C') |
+---------------------------------------------------------+
| SQL |
+---------------------------------------------------------+
1 row in set (0.00 sec)在参数字符串中的字符必须是合法的十六进制数字:'0'..'9','A'..'F','一'..'F'。如果UNHEX()遇到在参数任何非十六进制数字,它返回NULL。
UPPER(STR)
返回改为根据当前字符集映射为大写的所有字符的字符串str。
SQL> SELECT UPPER('Allah-hus-samad');
+---------------------------------------------------------+
| UPPER('Allah-hus-samad') |
+---------------------------------------------------------+
| ALLAH-HUS-SAMAD |
+---------------------------------------------------------+
1 row in set (0.00 sec)
免费 AI IDE


更多建议: