php开源嘛
首页 | English | MySql数据库 | Php编程 | 建站杂烩 | 系统服务器 | 资源共享 | 专题 | 才桀网 | 支持论坛
  当前位置:主页>MySql数据库>文章内容
用于SELECT和WHERE子句的SQL函数
来源:网络 作者:本站整理 发布时间:2007-06-18  

-> "one"
mysql> SELECT CASE WHEN 1>0 THEN "true" ELSE "false" END;
-> "true"
mysql> SELECT CASE BINARY "B" WHEN "a" THEN 1 WHEN "b" THEN 2 END;
-> NULL

返回值的类型 (INTEGER、DOUBLE 或 STRING) 与第一个返回值(第一个 THEN 后的表达式)的类型相同。
6.3.2 字符串函数

如果返回结果的长度超过服务器参数 max_allowed_packet 的大小,字符串值函数将返回 NULL。查看章节 5.5.2 调节服务器参数。

对于操作字符串位置的函数,第一个位置被标记为 1。phpma

ASCII(str)
返回字符串 str 最左边的那个字符的 ASCII 码值。如果 str 是一个空字符串,那么返回值为 0。如果 str 是一个 NULL,返回值也是 NULL:

mysql> SELECT ASCII('2');
-> 50
mysql> SELECT ASCII(2);
-> 50
mysql> SELECT ASCII('dx');
-> 100

也可参看 ORD() 函数。

ORD(str)
如果字符串 str 的最左边的字符是一个多字节的字符,根据多字节字符的成分字符的 ASCII 码值通过下面的公式计算返回那个的编码:((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]。如果最左边的字符不是一个多字节字符,返回值与 ASCII() 函数相同:

mysql> SELECT ORD('2');
-> 50

CONV(N,from_base,to_base)
在不同的数字基数之间转换数字。将数字 N 从 from_base 转换到 to_base,并以字符串表示形式返回。如果任何一个参数为 NULL,那么返回值也为 NULL。参数 N 被解释为是一个整数,但是也可以被指定为一个整数或一个字符串。最小基为 2,最大基为 36。如果 to_base 是一个负值,N 将被看作为是一个有符号数字。否则,N 被视为是无符号的。CONV 以 64 位精度工作:phpma

mysql> SELECT CONV("a",16,2);
-> '1010'
mysql> SELECT CONV("6E",18,8);
-> '172'
mysql> SELECT CONV(-17,10,-18);
-> '-H'
mysql> SELECT CONV(10+"10"+'10'+0xa,10,10);
-> '40'

BIN(N)
返回 N 的字符串表示的二进制值形式,在这里,N 长长的(BIGINT)数字。这个函数等价于 CONV(N,10,2)。如果 N 是一个 NULL,返回值也是 NULL:

mysql> SELECT BIN(12);
-> '1100'

OCT(N)
返回 N 的字符串表示的八进制值形式,在这里,N 是一个长长的数字。这个函数等价于 CONV(N,10,8)。如果 N 是一个 NULL,返回值也是 NULL :

mysql> SELECT OCT(12);
-> '14'

HEX(N_or_S)
如果 N_OR_S 是一个数字,返回 N 的字符串表示的十六进制值形式,这里 N 是一个长长的(BIGINT)数字。这个函数等价于 CONV(N,10,16)。 如果 N_OR_S 是一个字符串,N_OR_S 中的每个字符均被转换为 2 位十六进制数字,并以十六进制的字符串形式返回。这是 0xff 形式的字符串反转操作。

mysql> SELECT HEX(255);
-> 'FF'
mysql> SELECT HEX("abc");
-> 616263
mysql> SELECT 0x616263;
-> "abc"

CHAR(N,...)
CHAR() 以整数类型解释参数,返回这个整数所代表的 ASCII 码值给出的字符组成的字符串。NULL 值将被忽略:

mysql> SELECT CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql> SELECT CHAR(77,77.3,'77.3');
-> 'MMM'

CONCAT(str1,str2,...)
将参数连接成字符串返回。如果有任何一个参数为 NULL,返回值也为 NULL。可以有超过 2 个的参数。数字参数将被转换为相等价的字符串形式:

mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'

CONCAT_WS(separator, str1, str2,...)
CONCAT_WS() 支持 CONCAT 加上一个分隔符,它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间:

mysql> SELECT CONCAT_WS(",","First name","Second name","Last Name");
-> 'First name,Second name,Last Name'
mysql> SELECT CONCAT_WS(",","First name",NULL,"Last Name");
-> 'First name,Last Name'

LENGTH(str)
OCTET_LENGTH(str)
CHAR_LENGTH(str)
CHARACTER_LENGTH(str)
返回字符串 str 的长度:

mysql> SELECT LENGTH('text');
-> 4
mysql> SELECT OCTET_LENGTH('text');
-> 4

注意,CHAR_LENGTH() 和 CHARACTER_LENGTH() 对于多字节字符只计数一次。phpma

BIT_LENGTH(str)
返回字符串 str 的比特长度:

mysql> SELECT BIT_LENGTH('text');
-> 32

LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:

mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0

这个函数是多字节安全的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

LOCATE(substr,str,pos)
返回子串 substr 在字符串 str 中的第 pos 位置后第一次出现的位置。如果 substr 不在 str 中返回 0 :

mysql> SELECT LOCATE('bar', 'foobarbar',5);
-> 7

这个函数是多字节安全的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

INSTR(str,substr)
返回子串 substr 在字符串 str 中第一次出现的位置。这与有两个参数形式的 LOCATE() 相似,只是参数的位置被颠倒了:

mysql> SELECT INSTR('foobarbar', 'bar');
-> 4
mysql> SELECT INSTR('xbar', 'foobar');
-> 0

这个函数是多字节安全的。在 MySQL 3.23 中,这个函数是字母大小写敏感的,当在 MySQL 4.0 中时,如有任一参数是一个二进制字符串,它才是字母大小写敏感的。

LPAD(str,len,padstr)
用字符串 padstr 对 str 进行左边填补直至它的长度达到 len 个字符长度,然后返回 str。如果 str 的长度长于 len',那么它将被截除到 len 个字符。

mysql> SELECT LPAD('hi',4,'??');
-> '??hi'

RPAD(str,len,padstr)
用字符串 padstr 对 str 进行右边填补直至它的长度达到 len 个字符长度,然后返回 str。如果 str 的长度长于 len',那么它将被截除到 len 个字符。
(阅读次数:
共12页: 上一页 [1] [2] 3 [4] [5] [6] [7] [8] [9] [10] [11] [12] 下一页
上一篇:Linux/Unix下ODBC的安装、配置与编程   下一篇:怎么备份MySQL数据库
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·MySQL索引分析和优化
·MySQL数据库下.frm .MYD .MYI损
·怎么删除MySQL数据库中的重复数
·MySQL数据导入与导出
·MySQL数据库中SQL查询语句精华
·如何优化MySQL数据库性能
·MySQL查询优化之查询优化器
·怎么备份MySQL数据库
·如何导入导出*.sql文件到MySQL数
·MySQL数据导入导出方法与工具介
·MySQL索引分析和优化加速网站访
·SQL Server执行SQL语句时内存占
  相关文章
·怎么备份MySQL数据库
·MySQL索引分析和优化
·小技巧:怎样在Mysql中直接储存
·MySQL数据导入与导出
·各种MySQL客户环境变量程序概述
·mysql常用经典操作
·MySQL优化简明指南
·MySQL高级特性之一事务处理
·MySQL创建数据库和数据库表
·MySQL数据库学习笔记
·Mysql日期和时间函数不求人
·MySQL ODBC进行MySQL和SQL Serve

关于我们 | 本站声明 | 友情连接 | 诚邀加盟 | 网站地图
版权Power by DedeCms   技术支持QQ =>> 罗江游鱼   Jacking  后台登陆
Copyright @ 2007 公司地址:柳州市东环路268号 邮编:545006 电话:15920389818 桂ICP备07006725号