找到关于数据库的6705篇文章

如何在MySQL中查找两个指定日期之间的工作日?

Jennifer Nicholas
更新于 2020年1月28日 10:00:44

725 次浏览

借助 DATEDIFF(expr1, expr2) 函数,我们可以查找两个指定日期之间的工作日数。例如,如果我们想查找 '2017-05-27' 和 '2017-05-23' 之间的工作日数,则以下为 MySQL 查询:
mysql> Select DATEDIFF('2017-05-27','2017-05-23') AS 'Total Business Days';
+----------------------+
| Total Business Days |
+----------------------+
| 4 |
+----------------------+
1 row in set (0.00 sec)

如何使用MySQL生成的列模拟CHECK约束?

Akshaya Akki
更新于 2020年6月19日 13:39:16

98 次浏览

众所周知,MySQL支持外键以实现引用完整性,但不支持CHECK约束。但是,我们可以使用触发器来模拟它们。以下示例对此进行了说明:示例假设我们有一个名为'car'的表,它可以具有固定的语法注册号,例如两个字母、一个破折号、三个数字、一个破折号、两个字母,如下所示:
mysql> Create table car2 (number char(9));
... 阅读更多

在MySQL中,如何通过提供年份、周数和星期几来计算日期?

Vrundesha Joshi
更新于 2020年1月28日 10:04:30

80 次浏览

我们可以按如下方式计算日期:
mysql> SET @year=2017, @week=15, @day=4;
...以下查询将分别将值 '2017'、'15'、'4' 传递给 'year'、'week' 和 'day' 变量。然后在下面的查询中应用公式后,我们可以得到日期。
mysql> SELECT Str_To_Date( Concat(@year,'-',@week,'-',If(@day=7,0,@day) ), '%Y-%U-%w' ) AS Date;
...

如何使用视图模拟CHECK约束?

Vikyath Ram
更新于 2020年6月19日 13:39:38

75 次浏览

众所周知,MySQL支持外键以实现引用完整性,但不支持CHECK约束。但是,我们可以使用触发器来模拟它们。以下示例对此进行了说明:示例假设我们有一个名为'car1'的表,它可以具有固定的语法注册号,例如两个字母、一个破折号、三个数字、一个破折号、两个字母,如下所示:
mysql> Create table car1 (number char(9));
... 阅读更多

如何在MySQL中根据出生日期计算年龄(以年为单位)?

usharani
更新于 2020年1月28日 10:08:56

285 次浏览

我们可以按如下方式计算出生日期的年龄(以年为单位):
mysql> SET @dob = '1984-01-17';
...上面的查询将值 '1984-01-17' 传递给 'dob' 变量。然后在下面的查询中应用公式后,我们可以得到年龄(以年为单位)。
mysql> Select Date_format( From_Days( To_Days(Curdate()) - To_Days(@dob) ), '%Y' ) + 0 AS ‘Age in years; ...

如何允许MySQL存储无效日期?

Rishi Rathor
更新于 2020年1月28日 10:11:12

273 次浏览

启用 SQL MODE 为 ALLOW_INVALID_DATES 后,MySQL 也能够在表中存储无效日期。以下示例说明了这一点:
mysql> Insert into order1234(ProductName, Quantity, Orderdate) values('B',500,'2015-11-31');
...

当MySQL遇到超出范围的日期时会发生什么?

varun
更新于 2020年1月28日 10:13:49

367 次浏览

MySQL 在遇到超出范围或无效日期时的响应将取决于 SQL MODE。如果我们启用了 ALLOW_INVALID_DATES 模式,则 MySQL 会将超出范围的值转换为全零(即 '0000:00:00 00:00:00'),并在不产生任何错误或警告的情况下将其存储在表中。例如,我们可以按如下方式更改 SQL MODE,然后插入超出范围的值:
mysql> set sql_mode = 'ALLOW_INVALID_DATES';
... 阅读更多

如何使用触发器模拟CHECK约束?

Rama Giri
更新于 2020年6月19日 13:38:03

166 次浏览

众所周知,MySQL支持外键以实现引用完整性,但不支持CHECK约束。但是,我们可以使用触发器来模拟它们。以下示例对此进行了说明:示例假设我们有一个名为'car'的表,它可以具有固定的语法注册号,例如两个字母、一个破折号、三个数字、一个破折号、两个字母,如下所示:
mysql> Create table car (number char(9));
... 阅读更多

如何为多列分配FOREIGN KEY约束?

Monica Mona
更新于 2020年6月19日 13:37:15

4K+ 次浏览

MySQL允许我们在表的多个列上添加FOREIGN KEY约束。条件是子表中的每个外键必须引用不同的父表。示例假设我们有一个名为'customer2'的表,它在'cust_unq_id'字段上具有主键约束,如下所示:
mysql> describe customer2;
... 阅读更多

MySQL 的 DATETIME 和 TIMESTAMP 数据类型有什么区别?

Nancy Den
更新于 2020年6月19日 13:33:54

10K+ 次浏览

这两种数据类型都以“YYYY-MM-DD HH:MM:SS”格式存储数据,并且包含日期和时间。尽管有这些相似之处,但它们仍然存在以下差异:范围 - Datetime 数据类型支持介于 1000-01-01 00:00:00 和 9999-12-31 23:59:59 之间的日期和时间。但 timestamp 数据类型支持介于 '1970-01-01 00:00:01' 和 '2038-01-19 08:44:07' 之间的日期和时间。大小 - Datetime 需要 5 个字节,另外 3 个字节用于存储小数秒数据。另一方面,timestamp 数据类型需要 4 个字节,另外 3 个字节用于存储小数秒数据... 阅读更多

广告