mysql常用函数

时间日期类别

select curdate();                     --获取当前日期

select now();                        --获取当前日期和时间

DAY(date);                           --返回给定日期的月份的日期部分
--DAY函数接受一个参数,它是您要获取月份日期的日期值。如果date参数为零,例如'0000-00-00',则DAY函数返回0,如果日期为NULL,则DAY函数返回NULL值。
--例子
SELECT DAY('2018-01-15');   --返回15
--要根据指定的日期获取一个月中的天数,您可以组合LAST_DAY和DAY函数,如以下示例所示:
SELECT DAY(LAST_DAY('2018-02-03'));  --返回28

LAST_DAY()  --返回一个月最后一天
select LAST_DAY('2018-02-03');  --函数返回一月的最后一天,返回2018-02-28

datediff()和timestampdiff()的区别:

从名字就能大概区分他们的租作用,一个比较时间戳的,一个是比较日期的。
mysql中
DATEDIFF(date1,date2) 函数返回两个日期之间的天数。
 SELECT DATEDIFF('2018-05-09 08:00:00','2018-05-09') AS DiffDate;
 //结果 0 ; 表示 2018-05-09 与 2018-05-09之间没有日期差。这里是不比较时分秒的。下面验证带上时分秒有没有差别。
 SELECT DATEDIFF('2018-05-09 00:00:00','2018-05-09 23:59:59') AS DiffDate;
 //结果 0 ;
 SELECT DATEDIFF('2018-05-08 23:59:59','2018-05-09 00:00:00') AS DiffDate;
 //结果 -1;
 SELECT DATEDIFF('2018-05-09 00:00:00','2018-05-08 23:59:59') AS DiffDate;
//结果 1;
sqlserver中 //语法
DATEDIFF(datepart,startdate,enddate)  startdate 和 enddate 参数是合法的日期表达式。datepart是计算的单位:
ep:SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate


timestampdiff() 函数返回两个日期的差,第一个参数可为年year,月MONTH,日day,小时hourselect timestampdiff(YEAR,"2018-01-01 15:15:16","2019-08-23 15:15:16") as timestamodiff;
//结果1。相差一年。
select timestampdiff(YEAR,"2019-08-22 15:15:19","2018-12-23 15:15:16") as timestamodiff;
//结果 -1,也是相差一年。
DATE_ADD(date,INTERVAL expr type) --DATE_ADD() 函数向日期添加指定的时间间隔。
--例子
select DATE_ADD(curdate(),interval -day(curdate())+1 day)   --获取本月第一天
select date_add(curdate()-day(curdate())+1,interval 1 month )
-- 获取下个月的第一天

date 参数是合法的日期表达式,expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:

Type 值
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

计算机函数

select sign(20);                     --算法为取数字n的符号,大于0返回1,小于0返回-1,等于0返回0。

IFNULL         --它的形式是IFNULL(fieldA,fieldB),意义是当字段fieldA是NULL时取fieldB,不是NULL时取fieldA的值。
select ifnull(manager_id,'NO MGR') from employees;

case函数  --case,when,then用法
简单case语句
CASE [col_name] WHEN [value1] THEN [result1]ELSE [default] END
eg:
CASE sex WHEN1THEN ‘男’ WHEN2THEN ‘女’ ELSE ‘其他’ END
搜索Case函数
CASE WHEN [expr] THEN [result1]ELSE [default] END
eg:
CASE WHEN sex =1THEN ‘男’ WHEN sex =2THEN ‘女’ ELSE ‘其他’ END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值