菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MySQL 教程

MySQL HOME MySQL Intro MySQL RDBMS

MySQL SQL

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN and MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL Wildcards MySQL IN MySQL BETWEEN MySQL Aliases MySQL Joins MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL Self Join MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null Functions MySQL Comments MySQL Operators

MySQL 数据库

MySQL Create DB MySQL Drop DB MySQL Create Table MySQL Drop Table MySQL Alter Table MySQL Constraints MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL Auto Increment MySQL Dates MySQL Views

MySQL References

MySQL Data Types MySQL Functions

MySQL Examples

MySQL Examples MySQL Editor MySQL Quiz MySQL Exercises MySQL Certificate

MySQL 处理日期


MySQL 日期

处理日期时最困难的部分是确保您要插入的日期的格式与数据库中日期的格式匹配。

只要您的数据只包含日期部分,您的查询就会按预期工作。但是,如果涉及时间部分,情况会变得更加复杂。


MySQL 日期数据类型

MySQL 提供了以下数据类型来在数据库中存储日期或日期/时间值:

  • DATE - 格式 YYYY-MM-DD
  • DATETIME - 格式:YYYY-MM-DD HH:MI:SS
  • TIMESTAMP - 格式:YYYY-MM-DD HH:MI:SS
  • YEAR - 格式 YYYY 或 YY

注意:日期数据类型是在您在数据库中创建新表时为列设置的!


处理日期

请看下表:

Orders 表

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

现在,我们要从上表中的 "Orders" 表中选择 OrderDate 为 "2008-11-11" 的记录。

我们使用以下 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

结果集将如下所示:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

注意:如果没有时间部分,两个日期很容易进行比较!

现在,假设 "Orders" 表如下所示(注意 "OrderDate" 列中添加的时间部分):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

如果我们使用与上面相同的 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

我们将得不到任何结果!这是因为查询只查找没有时间部分日期的记录。

提示:为了使您的查询保持简单易维护,除非必须,否则请勿在日期中使用时间部分!


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持