1 如果一个表中存在一个字段的值为null
1 computer 699 25 15
2 printer 365 36
3 telephone 280 159 57
select id, price * (amount + exct) from Products;
存在exct的值为null 无法参与运算
select id, price * (amount + IFNULL(exct)) from Products;
2 TOP子句
得到表中的前面的数据行
SELECT TOP 2 * FROM Persons 得到前2行的数据
SELECT TOP 50 PERCENT * FROM Persons 得到前面的一半的数据行
3
SELECT DATE_FORMAT(NOW(),’%Y-%m-%d %H:%i:%s’)
date 参数是合法的日期。format 规定日期/时间的输出格式。
1 下面是 SELECT 语句:
SELECT NOW(),CURDATE(),CURTIME()
结果类似:
NOW() 2008-12-29 16:25:46
CURDATE() 2008-12-29
CURTIME() 16:25:46
2
CREATE TABLE Orders
(
OrderId int NOT NULL,
ProductName varchar(50) NOT NULL,
OrderDate datetime NOT NULL DEFAULT NOW(), //当向表中差如一条数据的时候此字段也会更新
PRIMARY KEY (OrderId)
)
insert into Orders (ProductName) values(‘aaa’);
3
1 computer 2008-12-26 16:23:55
2 printer 2008-12-26 10:45:26
3 electrograph 2008-11-12 14:12:08
4 telephone 2008-10-19 12:56:10
此表中的日期的数据存在 时间部分(16:23:25)
SELECT * FROM Orders WHERE OrderDate=’2008-12-26’ 此时的查询是得不到数据的