SQL中的DATE函数和NULL操作
一、DATE函数
mysql中的date函数
NOW() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间的单独部分
DATE_ADD() 向日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间
SQL Server Date 函数
GETDATE() 返回当前的日期和时间
DATEPART() 返回日期/时间的单独部分
DATEADD() 在日期中添加或减去指定的时间间隔
DATEDIFF() 返回两个日期之间的时间
CONVERT() 用不同的格式显示日期/时间
二、NULL函数
如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录。这意味着该字段将以 NULL 值保存。
NULL 值的处理方式与其他值不同。NULL 用作未知的或不适用的值的占位符。
无法使用比较运算符来测试 NULL 值,比如 =、< 或 <>。
我们必须使用 IS NULL 和 IS NOT NULL 操作符来测试 NULL 值
如:SELECT * FROM table_name WHERE column_name IS NOT NULL;
NULL函数:ISNULL()、NVL()、IFNULL() 和 COALESCE()
SELECT column_name01+column_name02 FROM table_name;
返回两列的值的和,但是如果有其中一个或两个为NULL值那么结果就为NULL,NULL函数可以处理当值为NULL时当作指定的值计算。
SQL Server / MS Access中:
SELECT column_name01+ISNULL(column_name02,0) FROM table_name;
Oracle中:
SELECT column_name01+NVL(column_name02,0) FROM table_name;
MySQL中:
SELECT column_name01+IFNULL(column_name02,0) FROM table_name;
SELECT column_name01+COALESCE(column_name02,0) FROM table_name;
上面的语句表示当column_name02列中有值为NULL时当作0来计算,这样避免了返回NULL。