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


mysql> SELECT SIN(PI());
-> 0.000000

TAN(X)
返回 X 的正切,在这里,X 以弧度给出:

mysql> SELECT TAN(PI()+1);
-> 1.557408

ACOS(X)
返回 X 的反余弦,更确切地说,返回余弦值为 X 的值。如果 X 不在 -1 到 1 之间的范围内,返回 NULL:

mysql> SELECT ACOS(1);
-> 0.000000
mysql> SELECT ACOS(1.0001);
-> NULL
mysql> SELECT ACOS(0);
-> 1.570796

ASIN(X)
返回 X 的反正弦,更确切地说,返回正弦值为 X 的值。如果 X 不在 -1 到 1 之间的范围内,返回 NULL:

mysql> SELECT ASIN(0.2);
-> 0.201358
mysql> SELECT ASIN('foo');
-> 0.000000

ATAN(X)
返回 X 的反正切, 更确切地说,返回正切值为 X 的值:

mysql> SELECT ATAN(2);
-> 1.107149
mysql> SELECT ATAN(-2);
-> -1.107149

ATAN(Y,X)
ATAN2(Y,X)
返回两个变量 X 和 Y 的反正切。它类似于计算 Y / X 的反正切,除了两个参数的符号用于决定结果的象限:

mysql> SELECT ATAN(-2,2);
-> -0.785398
mysql> SELECT ATAN2(PI(),0);
-> 1.570796

COT(X)
返回 X 的余切:

mysql> SELECT COT(12);
-> -1.57267341
mysql> SELECT COT(0);
-> NULL

RAND()
RAND(N)
返回一个范围在 0 到 1.0 之间的随机浮点值。如果一个整数参数 N 被指定,它被当做种子值使用(用于产生一个可重复的数值):

mysql> SELECT RAND();
-> 0.9233482386203
mysql> SELECT RAND(20);
-> 0.15888261251047
mysql> SELECT RAND(20);
-> 0.15888261251047
mysql> SELECT RAND();
-> 0.63553050033332
mysql> SELECT RAND();
-> 0.70100469486881

在一个 ORDER BY 子句中,不可以使用 RAND() 值使用一个列,因为 ORDER BY 将多次重复计算列。从 MySQL 3.23 开始,你可以使用:SELECT * FROM table_name ORDER BY RAND(),这有利于得到一个来自 SELECT * FROM table1,table2 WHERE a=b AND c<d ORDER BY RAND() LIMIT 1000 的集合中的随机样本。 注意,在一个 WHERE 子句中的 RAND() 将在每次 WHERE 执行时被重新计算。 RAND() 并不是预期完美的随机数发生器,但是可以代替做为产生特别的随机数一个快速的方法,这样便于在两个不同平台下的同一 MySQL 版本间移动。

LEAST(X,Y,...)
有两个或更多个参数,返回最小(最小值)的参数。参数使用下列规则进行比较:

* 如果返回值用于一个 INTEGER 语境,或所有的参数是整数值,它们作为整数比较。
* 如果返回值用于一个 REAL 语境,或所有的参数均是实数值,它们作为实数被比较。
* 如果任何一个参数是字母大小写敏感的,参数作为大小写敏感的字符串进行比较。
* 在其它情况下,参数做为忽略大小写的字符中进行比较:

mysql> SELECT LEAST(2,0);
-> 0
mysql> SELECT LEAST(34.0,3.0,5.0,767.0);
-> 3.0
mysql> SELECT LEAST("B","A","C");
-> "A"

在早于 MySQL 3.22.5 的版本中,你可以使用 MIN() 代替 LEAST。

GREATEST(X,Y,...)
返回最大(最大值)参数。参数使用与 LEAST 一致的规则进行比较:

mysql> SELECT GREATEST(2,0);
-> 2
mysql> SELECT GREATEST(34.0,3.0,5.0,767.0);
-> 767.0
mysql> SELECT GREATEST("B","A","C");
-> "C"

在早于 MySQL 3.22.5 的版本中,可以使用 MAX() 代替 GREATEST。

DEGREES(X)
将参数 X 从弧度转换为角度,然后返回:

mysql> SELECT DEGREES(PI());
-> 180.000000

RADIANS(X)
将参数 X 从角度转换为弧度,然后返回:

mysql> SELECT RADIANS(90);
-> 1.570796

TRUNCATE(X,D)
将数值 X 截到 D 个小数,然后返回。如果 D 为 0,结果将不包含小数点和小数部分:

mysql> SELECT TRUNCATE(1.223,1);
-> 1.2
mysql> SELECT TRUNCATE(1.999,1);
-> 1.9
mysql> SELECT TRUNCATE(1.999,0);
-> 1
mysql> SELECT TRUNCATE(-1.999,1);
-> -1.9

从 MySQL 3.23.51 开始,所有数字被四舍五入到零。 如果 D 是负数,那么数字的整个部分被对准零位输出:

mysql> SELECT TRUNCATE(122,-2);
-> 100

注意, 十进值小数在计算机中通常不以精确数字存储,而是双精度型的值,你可能会被下列结果所愚弄:

mysql> SELECT TRUNCATE(10.28*100,0);
-> 1027

上面结果的发生是因为 10.28 实际上是以某些像 10.2799999999999999 的形式被存储的。

6.3.4 日期和时间函数

对于每个类型的值范围以及日期和时间值有效指定格式,请查看章节 6.2.2 Date 和 Time 类型。

这里是一个使用日期函数的例子。下面的查询选择所有 date_col 值在最后 30 天内的记录。

mysql> SELECT something FROM tbl_name
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

DAYOFWEEK(date)
返回 date 的星期索引(1 = Sunday, 2 = Monday, ... 7 = Saturday)。索引值符合 ODBC 的标准。

mysql> SELECT DAYOFWEEK('1998-02-03');
-> 3

WEEKDAY(date)
返回 date 的星期索引(0 = Monday, 1 = Tuesday, ... 6 = Sunday):

mysql> SELECT WEEKDAY('1998-02-03 22:23:00');
-> 1
mysql> SELECT WEEKDAY('1997-11-05');
-> 2

DAYOFMONTH(date)
返回 date 是一月中的第几天,范围为 1 到 31:

mysql> SELECT DAYOFMONTH('1998-02-03');
-> 3

DAYOFYEAR(date)
返回 date 是一年中的第几天,范围为 1 到 366:

mysql> SELECT DAYOFYEAR('1998-02-03');
-> 34

MONTH(date)
返回 date 中的月份,范围为 1 到 12:

mysql> SELECT MONTH('1998-02-03');
-> 2

DAYNAME(date)
返回 date 的星期名:

mysql> SELECT DAYNAME("1998-02-05");
-> 'Thursday'

MONTHNAME(date)
返回 date 的月份名:

mysql> SELECT MONTHNAME("1998-02-05");
-> 'February'

QUARTER(date)
返回 date 在一年中的季度,范围为 1 到 4:

mysql> SELECT QUARTER('98-04-01');
-> 2

WEEK(date)
WEEK(date,first)
对于星期日是一周中的第一天的场合,如果函数只有一个参数调用,返回 date 为一年的第几周,返回值范围为 0 到 53 (是的,可能有第 53 周的开始)。两个参数形式的 WEEK() 允许你指定一周是否以星期日或星期一开始,以及返回值为 0-53 还是 1-52。 这里的一个表显示第二个参数是如何工作的:
(阅读次数:
共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号