网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 MySQL中字符串函数详细介绍(1)
范文
    符串或串(String)是由零个或多个字符组成的有限序列。一般记为 s='a1a2•••an'(n>=0)。它是编程语言中表示文本的数据类型。
    通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设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));
    +------------------+--------------------+
    | HEX(CHAR(1,0,0)) | HEX(CHAR(256*256)) |
    +------------------+--------------------+
    | 010000 | 010000 |
    +------------------+--------------------+
    CHAR()的返回值为一个二进制字符串。可选择使用USING语句产生一个给出的字符集中的字符串:
    mysql> SELECT CHARSET(CHAR(0x65)), CHARSET(CHAR(0x65 USING utf8));
    mysql> SELECT CHARSET(CHAR(0x65)), CHARSET(CHAR(0x65 USING utf8));
    +---------------------+--------------------------------+
    | CHARSET(CHAR(0x65)) | CHARSET(CHAR(0x65 USING utf8)) |
    +---------------------+--------------------------------+
    | binary | utf8 |
    +---------------------+--------------------------------+
    如果 USING已经产生,而结果字符串不符合给出的字符集,则会发出警告。同样,如果严格的SQL模式被激活,则CHAR()的结果会成为 NULL。
    ◆ CHAR_LENGTH(str)
    返回值为字符串str 的长度,长度的单位为字符。一个多字节字符算作一个单字符。对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。
    ◆ CHARACTER_LENGTH(str)
    CHARACTER_LENGTH()是CHAR_LENGTH()的同义词。
    ◆ COMPRESS(string_to_compress)
    压缩一个字符串。这个函数要求 MySQL已经用一个诸如zlib的压缩库压缩过。 否则,返回值始终是NULL。UNCOMPRESS() 可将压缩过的字符串进行解压缩。
    mysql> SELECT LENGTH(COMPRESS(REPEAT('a',1000)));
    -> 21
    mysql> SELECT LENGTH(COMPRESS(''));
    -> 0
    mysql> SELECT LENGTH(COMPRESS('a'));
    -> 13
    mysql> SELECT LENGTH(COMPRESS(REPEAT('a',16)));
    -> 15
    压缩后的字符串的内容按照以下方式存储:
    空字符串按照空字符串存储。
    非空字符串未压缩字符串的四字节长度进行存储(首先为低字节),后面是压缩字符串。如果字符串以空格结尾,就会在后加一个"."号,以防止当结果值是存储在CHAR或VARCHAR类型的字段列时,出现自动把结尾空格去掉的现象。(不推荐使用 CHAR 或VARCHAR 来存储压缩字符串。最好使用一个 BLOB 列代替)。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/21 8:11:15