MySQL的字符串函数使用说明_MySQL
程序员文章站
2022-06-05 07:51:59
...
bitsCN.com
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要 条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存 储方式和链接存储方式。
下面我们来看看MySQL中的字符串函数
假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL。
对于在字符串位置操作的函数,第一个位置的编号为 1。
◆ ASCII(str)
返回值为字符串str 的最左字符的数值。假如str为空字符串,则返回值为 0 。假如str 为NULL,则返回值为 NULL。 ASCII()用于带有从 0到255的数值的字符。
mysql> SELECT ASCII(‘2′);
-> 50
mysql> SELECT ASCII(2);
-> 50
mysql> SELECT ASCII(‘dx');
-> 100
见 ORD()函数。
◆ BIN(N)
返回值为N的二进制值的字符串表示,其中 N 为一个longlong (BIGINT) 数字。这等同于 CONV(N,10,2)。假如N 为NULL,则返回值为 NULL。
mysql> SELECT BIN(12);-> ‘1100′
◆ BIT_LENGTH(str)
返回值为二进制的字符串str 长度。
mysql> SELECT BIT_LENGTH(‘text');-> 32
◆ CHAR(N,… [USING charset])
CHAR()将每个参数N理解为一个整数,其返回值为一个包含这些整数的代码值所给出的字符的字符串。NULL值被省略。
mysql> SELECT CHAR(77,121,83,81,'76′);-> ‘MySQL'mysql> SELECT CHAR(77,77.3,'77.3′);-> ‘MMM'
大于 255的CHAR()参数被转换为多结果字符。 例如,CHAR(256) 相当于 CHAR(1,0), 而CHAR(256*256) 则相当于 CHAR(1,0,0):
mysql> SELECT HEX(CHAR(1,0)), HEX(CHAR(256));+―――――-+―――――-+| HEX(CHAR(1,0)) | HEX(CHAR(256)) |+―――――-+―――――-+| 0100 | 0100 |+―――――-+―――――-+mysql> SELECT HEX(CHAR(1,0,0)), HEX(CHAR(256*256));+――――――+――――――
下面我们来看看MySQL中的字符串函数
假如结果的长度大于 max_allowed_packet 系统变量的最大值时,字符串值函数的返回值为NULL。
对于在字符串位置操作的函数,第一个位置的编号为 1。
◆ ASCII(str)
返回值为字符串str 的最左字符的数值。假如str为空字符串,则返回值为 0 。假如str 为NULL,则返回值为 NULL。 ASCII()用于带有从 0到255的数值的字符。
mysql> SELECT ASCII(‘2′);
-> 50
mysql> SELECT ASCII(2);
-> 50
mysql> SELECT ASCII(‘dx');
-> 100
见 ORD()函数。
◆ BIN(N)
返回值为N的二进制值的字符串表示,其中 N 为一个longlong (BIGINT) 数字。这等同于 CONV(N,10,2)。假如N 为NULL,则返回值为 NULL。
mysql> SELECT BIN(12);-> ‘1100′
◆ BIT_LENGTH(str)
返回值为二进制的字符串str 长度。
mysql> SELECT BIT_LENGTH(‘text');-> 32
◆ CHAR(N,… [USING charset])
CHAR()将每个参数N理解为一个整数,其返回值为一个包含这些整数的代码值所给出的字符的字符串。NULL值被省略。
mysql> SELECT CHAR(77,121,83,81,'76′);-> ‘MySQL'mysql> SELECT CHAR(77,77.3,'77.3′);-> ‘MMM'
大于 255的CHAR()参数被转换为多结果字符。 例如,CHAR(256) 相当于 CHAR(1,0), 而CHAR(256*256) 则相当于 CHAR(1,0,0):
mysql> SELECT HEX(CHAR(1,0)), HEX(CHAR(256));+―――――-+―――――-+| HEX(CHAR(1,0)) | HEX(CHAR(256)) |+―――――-+―――――-+| 0100 | 0100 |+―――――-+―――――-+mysql> SELECT HEX(CHAR(1,0,0)), HEX(CHAR(256*256));+――――――+――――――