MySQL 4.1.0 中文参考手册 --- 6.3 用于 SELECT 和 WHERE 子句的函数 (1)[8]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 shuixin13 的 blog

export_set(bits,on,off,[separator,[number_of_bits]])
返回一个字符串,对于在 'bits' 中的每个比特字位,你将得到一个 'on' 字符,而如果比特字位是一个清零比特位(reset bit)你将得到一个 'off' 字符串。每个字符串均被“分隔符”(缺省为“,”)分隔,并且只有 'number_of_bits'(缺省为 64) 个 'bits' 被使用:
mysql> select export_set(5,'y','n',',',4)
        -> y,n,y,n
示例(译者注):
mysql> select export_set(1,'1','0','',5);
        -> 10000 
# 最左边第一位为 2 的 0 次幂
mysql> select export_set(2,'1','0','',5);
        -> 01000
# 最左边第一位为 2 的 0 次幂,第二位为 2 的 1 次幂        
mysql> select export_set(4,'1','0','',5);
        -> 00100
# 最左边第一位为 2 的 0 次幂,第二位为 2 的 1 次幂,第三位为 2 的 2 次幂  
mysql> select export_set(15,'1','0','',5);
        -> 11110
# 最左边第一位为 2 的 1 次幂,第四位为 2 的 3 次幂  
mysql> select export_set(16,'1','0','',5);
        -> 00001
# 最左边第一位为 2 的 1 次幂,第五位为 2 的 4 次幂 

# 以上结果在 mysql 4.0.12 中测试通过
示例结束(译者注)

lcase(str)
lower(str)
依照当前字符集设置映射(缺省为 iso-8859-1 latin1),将字符串 str 中的所有字符改变为小写,然后返回该值:
mysql> select lcase('quadratically');
        -> 'quadratically'
这个函数是多字节安全的。

ucase(str)
upper(str)
依照当前字符集设置映射(缺省为 iso-8859-1 latin1),将字符串 str 中的所有字符改变为大写,然后返回该值:
mysql> select ucase('hej');
        -> 'hej'
这个函数是多字节安全的。

load_file(file_name)
读入文件,并将文件内容作为一个字符串返回。这个文件必须在服务器上,必须指定文件完整的路径名,并且你必须有 file 权限。文件必须完全可读,并且小于 max_allowed_packet。 如果该文件不存在,或因为上面的任一原因而不能被读出,函数返回 null
mysql> update tbl_name
           set blob_column=load_file("/tmp/picture")
           where id=1;
如果你没有使用 mysql 3.23,你不得不在你的应用程序中读取文件,以文件的信息创建一个 insert 语句,来更新数据库。如果你使用 mysql++ 库,下面有一个示例,详细请查看 http://www.mysql.com/documentation/mysql++/mysql++-examples.html

quote(str)
引用一个字符串,并返回一个结果,该结果可作为一个适当转义过的数据值在一个 sql 语句中使用。字符串被单引号包围着返回,并且在该字符串中每个单引号(“'”)、反斜线符号(“\”)、ascii nul 和 control-z 出现的地方,在该字符之前均被加上了一个反斜线。如果参数是 null,那么结果值是一个没有单引号包围的单词 “null”。 quote 函数在 mysql 4.0.3 中被加入。
mysql> select quote("don't");
        -> 'don\'t!'
mysql> select quote(null);
        -> null

6.3.2.1 字符串比较函数

在必要的时候,mysql 会自动地将数字转换到字符串,反之亦然:

mysql> select 1+"1";
        -> 2
mysql> select concat(2,' test');
        -> '2 test'

如果你希望明确地将一个数字转换为字符串,将它参数传递到 concat() 中。

如果将一个二进制字符串作为参数传递给一个字符串函数,结果返回也是一个二进制字符串。一个数字被转换到字符串,该字符串被视为是一个二进制字符串。这仅仅会影响结果。

通常,只要字符串比较中的任何一个表达式是区分大小写的,比较就会以字母大小写敏感方式执行。

expr like pat [escape 'escape-char']
使用 sql 的简单的正规表达式进行比较的模式匹配。返回 1 (true) 或 0 (false)。可以在模式中使用下面所示的两个通配符字符与 like 配合:
字符 含义
% 匹配任意多个字符,甚至是零个字符
_ 严格地匹配一个字符
mysql> select 'david!' like 'david_';
        -> 1
mysql> select 'david!' like '%d%v%';
        -> 1
为了测试一个含有通配符的文字实例,可以用转义符加在能配符前。如果没有明确指定 escape 字符,假定为 “\”
字符串 含义
\% 匹配一个 % 字符
\_ 匹配一个 _ 字符

本文关键:MySQL 4.1.0 中文
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top