首页博客网络编程
1.处理日期:主要 SQL技巧
2. SQL日期:数据类型
3. SQL处理日期
需要插入数据库的日期格式必须与日期列格式匹配。
数据中的时间部分会使查询变得更加复杂。
在数据库中创建表时选择列的数据类型。
通过在日期中不允许时间分量,使查询易于维护和简单。
日期/时间或日期的MySQL数据类型:
日期时间 - YYYY-MM-DD HH:MI:SS
日期 - YYYY-MM-DD
年份 - YY 或 YYYY
时间戳 - YYYY-MM-DD HH:MI:SS
日期/时间或日期的 SQLServer 数据类型:
日期时间 - YYYY-MM-DD HH:MI:SS
日期 - YYYY-MM-DD
TIMESTAMP - 独占数字
小日期时间 - YYYY-MM-DD HH:MI:SS
当没有时间成分时,可以很容易地比较两个日期。
下面是一个“生日”表:
编号 | 名字 | 生日 |
---|---|---|
1 | 汤姆·杰斐逊 | 1991-01-11 |
2 | 安东尼·法布里齐奥 | 1987-05-28 |
3 | 迈克·蒂莫蒂 | 1991-01-11 |
4 | 加里·彼得森 | 1997-12-19 |
使用 SELECT 语句从此表中选择生日为“1991-01-11”的人员:
例复制
SELECT * FROM Birthdays WHERE OrderDate='1991-01-11'
结果如下:
编号 | 名字 | 生日 |
---|---|---|
1 | 汤姆·杰斐逊 | 1991-01-11 |
3 | 迈克·蒂莫蒂 | 1991-01-11 |
让我们为生日添加一个时间戳:
编号 | 名字 | 生日 |
---|---|---|
1 | 汤姆·杰斐逊 | 1991-01-11 14:24:44 |
2 | 安东尼·法布里齐奥 | 1987-05-28 19:40:29 |
3 | 迈克·蒂莫蒂 | 1991-01-11 10:11:01 |
4 | 加里·彼得森 | 1997-12-19 23:54:59 |
我们使用相同的 SELECT 语句:
例复制
SELECT * FROM Birthdays WHERE OrderDate='1991-01-11'
此代码不会发生任何事情,因为有一个时间部分,并且查询正在搜索没有时间部分的日期。
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位