时间日期类别
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,小时hour等
select 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 WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END
搜索Case函数
CASE WHEN [expr] THEN [result1]…ELSE [default] END
eg:
CASE WHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ THEN ‘女’ ELSE ‘其他’ END