Mysql中的常用函数
1、ifnull()函数与if()函数 :
IFNULL(expr1,expr2)
如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。
IF(expr1,expr2,expr3)
如果expr1不是NULL, IFNULL()返回expr2, 否则 IFNULL() 返回expr3。
2、NOW() 返回当前时间
CURDATE (); 当前日期
CURTIME(); 当前时间
DATE ( date ); 提取日期或日期/时间表达式的日期部分
3、DATEDIFF(time1 , time2)
两个时间之差,主要用于计算天数,切记,该方法只是对年月日的时间进行处理,对时分秒的时间不作处理。不需要考虑时分秒对结果的影响。
用法:
SELECT rysj , cysj , DATEDIFF( IFNULL(cysj , NOW()) ,rysj) zyts FROM 表名
以上sql就是
根据出院时间和入院时间计算住院天数。
考虑到在院时出院日期为空,因此先判断出院时间,出院时间为空时或许系统当前时间,再根据获取到的出院时间或当前时间减去入院时间就是住院天数。
4、CAST() 和 CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。
具体用法: CAST( 列名 as 类型)
CONVERT (列名 ,类型 )
类型值如下:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
5、DATE_SUB() 函数从日期减去指定的时间间隔。
DATE_ADD() 函数从日期加上指定的时间间隔。
DATE_SUB( date , INTERVAL expr TYPE)
DATE_ADD( date , INTERVAL expr TYPE)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
HOUR(时) MINUTE(分) SECOND(秒) MICROSECOND(毫秒)
DAY(天) WEEK(周) MONTH(月) YEAR(年) QUARTER(三月)