用在select和where子句中的函数

用在select和where子句中的函数

ID:34783987

大小:115.20 KB

页数:47页

时间:2019-03-10

用在select和where子句中的函数_第1页
用在select和where子句中的函数_第2页
用在select和where子句中的函数_第3页
用在select和where子句中的函数_第4页
用在select和where子句中的函数_第5页
资源描述:

《用在select和where子句中的函数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用在SELECT和WHERE子句中的函数在一个SQL语句中的select_expression或where_definition可由使用下面描述的函数的任何表达式组成。包含NULL的一个表达式总是产生一个NULL值,否则除非表达式所包含的操作符和函数在文档中说明。注意:在一个函数名和跟随它的括号之间不许没有空格。这帮助MySQL分析器区分函数调用和具有相同名字的对表或列的引用,尽管允许在参数周围有空格。为了简洁,例子以缩写形式显示从mysql程序输出。因此:mysql>selectMOD(29,9)

2、;1rowsinset(0.00sec)+-----------+

3、mod(29,9)

4、+-----------+

5、2

6、+-----------+被显示为这样:mysql>selectMOD(29,9);->27.4.1分组函数(...)括号。使用它们来强制在一个表达式的计算顺序。mysql>select1+2*3;->7mysql>select(1+2)*3;->97.4.2常用的算术操作一般的算术操作符是可用的。注意在-、+和*情况下,如果两个参数是整数,结果用BIGINT(64位)精度计算! 

7、+加法mysql>select3+5;->8-减法mysql>select3-5;->-2*乘法mysql>select3*5;->15mysql>select18014398509481984*18014398509481984.0;->324518553658426726783156020576256.0mysql>select18014398509481984*18014398509481984;->0最后一个表达式的结果是不正确的,因为整数乘积的结果超过用BIGINT计算的64位范围。/除法

8、mysql>select3/5;->0.60被零除产生一个NULL结果:mysql>select102/(1-1);->NULL一个除法用BIGINT算术计算,只要在它的结果被转换到一个整数的上下文中执行!7.4.3位函数MySQL为位操作使用BIGINT(64位)算法,因此这些操作符有最大64位的一个范围。

9、位或mysql>select29

10、15;->31&位与mysql>select29&15;->13<<左移位一个长(BIGINT)数字。mysql>select1<<2->4>>右移位一个长(

11、BIGINT)数字。mysql>select4>>2->1~颠倒所有的位。mysql>select5&~1->4BIT_COUNT(N)返回在参数N设定的位的数量。mysql>selectBIT_COUNT(29);->47.4.4逻辑运算所有的逻辑函数返回1(TRUE)或0(FALSE)。NOT!逻辑非。如果参数是0,返回1,否则返回0。例外:NOTNULL返回NULL。mysql>selectNOT1;->0mysql>selectNOTNULL;->NULLmysql>select!(1+1)

12、;->0mysql>select!1+1;->1最后的例子返回1,因为表达式作为(!1)+1计算。OR 

13、

14、逻辑或。如果任何一个参数不是0并且不NULL,返回1。mysql>select1

15、

16、0;->1mysql>select0

17、

18、0;->0mysql>select1

19、

20、NULL;->1AND &&逻辑与。如果任何一个参数是0或NULL,返回0,否则返回1。mysql>select1&&NULL;->0mysql>select1&&0;->07.4.5比较运算符比较操作得出值1(TRUE)、0(FA

21、LSE)或NULL等结果。这些函数工作运用在数字和字符串上。当需要时,字符串自动地被变换到数字且数字到字符串(如在Perl)。MySQL使用下列规则执行比较:·如果一个或两个参数是NULL,比较的结果是NULL,除了<=>操作符。·如果在比较中操作的两个参数是字符串,他们作为字符串被比较。·如果两个参数是整数,他们作为整数被比较。·十六进制的值如果不与一个数字比较,则被当作二进制字符串。·如果参数之一是一个TIMESTAMP或DATETIME列而其他参数是一个常数,在比较执行前,常数被转换为一个时间

22、标记。这样做是为了对ODBC更友好。·在所有其他的情况下,参数作为浮点(实数)数字被比较。缺省地,字符串使用当前的字符集以大小写敏感的方式进行(缺省为ISO-8859-1Latin1,它对英语运用得很出色)。下面的例子演示了对于比较操作字符串到数字的转换:mysql>SELECT1>'6x';->0mysql>SELECT7>'6x';->1mysql>SELECT0>'x6';->0mysql>SELECT0='x6';->1=等于mysql>select1=0;-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。