通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要 条件是:长度相等,并且各个对应位置上的字符都相等。设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));+ |
|