SQL 字符串函数

由 andyguan007 创建, 最后一次修改 2016-12-15

SQL字符串函数主要用于字符串操作。 下表详述了重要的字符串函数:

NameDescription
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 LIKESOUNDEX()
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_pa​​cket个字节可读。

如果该文件不存在或无法读取,因为上述条件之一不满足,则函数返回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)

以上内容是否对您有帮助:
二维码
建议反馈
二维码