找到關於資料庫的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 個位元組用於儲存小數秒資料... 閱讀更多

廣告
© . All rights reserved.