欢迎来到天天文库
浏览记录
ID:34783987
大小:115.20 KB
页数:47页
时间:2019-03-10
《用在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;-
此文档下载收益归作者所有