您的位置:首页 > 数据库 > MySQL

MySQL-运算符和函数

2016-07-30 14:42 281 查看

MySQL-运算符和函数

通配符

SQL通配符

通配符描述
%
替代一个或多个字符
_
仅替代一个字符
[charlist]
字符列中的任何单一字符
[^charlist]
或者
[!charlist]
不在字符列中的任何单一字符
例如

SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';


等价于

SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';


函数

字符函数



concat_ws()
第一个为连接符

select concat_ws('-','w','z');


select format(12560.75, 1);
输出
12,560.8


select left('MySQL', 2);
取MySQL的前两位,输出为
My




select trim(leading '?' from '??MySQL???');
删除前导的
,结果为
MySQL???


select trim(trailing '?' from '??MySQL???');
删除后置的
?


select replace('??My??SQL???', '?', '');
替换
?
为空字符。

select substring('MySQL', 1, 2);
字符串截取,结果为
My


%
代表任意字符

_
代表任意一个字符

数值运算符函数



TRUNCATE(x,y)
函数用于返回x保留到小数点后y位的值。

select TRUNCATE(2.12345678, 3);


结果为
2.123


比较运算符



例如:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL


日期时间函数



获取当前的日期:

select curdate(), current_date();


DATEDIFF(d1,d2)
用于计算日期d1和d2之间相隔的天数。

select DATEDIFF('2011-07-05', '2011-07-01');


结果输出为
4


多种选择-条件判断函数

条件判断函数用来在SQL语句中进行条件判断。根据不同的条件,执行不同的SQL语句。

函数作用
IF(expo,v1,v2)如果表单式expo成立,则执行v1;否则,执行v2
IFNULL(v1,v2)如果v1不为空,则显示v1的值,否则显示v2的值
CASE WHEN expr1 THEN [WHEN expr2 THEN v2…] [ELSE vn] ENDcase表示函数开始,end表示函数结束。如果表示式expr1成立,则返回v1的值,如果表达式expr2成立,则返回v2的值。以此类推,最后遇到else时,返回vn的值。

信息函数



聚合函数

聚合函数只有一个返回值



加密函数



PASSWORD(str)
函数可用于对字符串str进行加密。一般情况下,
PASSWORD(str)
函数主要是用来给用户的密码加密。加密是不可逆的。

自定义函数

创建自定义函数



routine_body
是指函数体

函数体由合法的SQL语句构成

函数体可以是简单的SELECT或INSERT语句

函数体如果为复合结构则使用BEGIN…END语句

创建不带参数的自定义函数

create function f1() returns varchar(30)
return date_format(now(),'%Y年%m月%d日 %H点:%i分:%s秒');

select f1();


创建带有参数的自定义函数

create function f2(num1 smallint unsigned, num2 smallint unsigned)
returns float(10, 2) unsigned
return (num1+num2) / 2;

select f2(3, 5);


创建具有复合结构函数体的自定义函数

存储过程

增强SQL语句的功能和灵活性

实现较快的执行速度

减少网络流量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql