Định dạng của giá trị
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1 là
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';2'. Theo SQL tiêu chuẩn, không có định dạng nào khác được phép. Bạn nên sử dụng định dạng này trong
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';3 biểu thức và trong mệnh đề
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';4 của câu lệnh
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';5. Ví dụ
SELECT * FROM t1 WHERE date >= '2003-05-05';
Để thuận tiện, MySQL tự động chuyển đổi ngày thành số nếu ngày được sử dụng trong ngữ cảnh số và ngược lại. MySQL cũng cho phép định dạng chuỗi "thoải mái" khi cập nhật và trong mệnh đề
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';4 so sánh ngày với cột
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';0 hoặc
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1. Định dạng “thoải mái” có nghĩa là bất kỳ ký tự dấu chấm câu nào cũng có thể được sử dụng làm dấu phân cách giữa các phần. Ví dụ,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';2 và
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';3 là tương đương. MySQL cũng có thể chuyển đổi một chuỗi không chứa dấu phân cách [chẳng hạn như
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';4], miễn là nó có nghĩa là ngày tháng
Khi bạn so sánh một
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';6,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';0 hoặc
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1 với một chuỗi không đổi bằng các toán tử
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';9,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';00,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';01,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';02,
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';03 hoặc
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';04, MySQL thường chuyển đổi chuỗi thành một số nguyên dài bên trong để so sánh nhanh hơn [và cũng để . Tuy nhiên, việc chuyển đổi này phải tuân theo các trường hợp ngoại lệ sau
Khi bạn so sánh hai cột
Khi bạn so sánh cột
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
1,INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
6,INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
0 hoặcINSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
1 với một biểu thứcKhi bạn sử dụng bất kỳ phương pháp so sánh nào ngoài những phương pháp vừa được liệt kê, chẳng hạn như
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
09 hoặcINSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
10
Đối với những trường hợp ngoại lệ đó, việc so sánh được thực hiện bằng cách chuyển đổi các đối tượng thành chuỗi và thực hiện so sánh chuỗi
Để đảm bảo an toàn, hãy giả sử rằng các chuỗi được so sánh dưới dạng chuỗi và sử dụng các hàm chuỗi thích hợp nếu bạn muốn so sánh một giá trị tạm thời với một chuỗi
Ngày "không" đặc biệt
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';11 có thể được lưu trữ và truy xuất dưới dạng
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';12 Khi một ngày
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';11 được sử dụng thông qua Trình kết nối/ODBC, nó sẽ tự động được chuyển đổi thành
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';14 vì ODBC không thể xử lý loại ngày đó
Bởi vì MySQL thực hiện các chuyển đổi vừa được mô tả, các câu lệnh sau sẽ hoạt động [giả sử rằng
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';15 là cột
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1]
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';
Tuy nhiên, tuyên bố sau đây không hoạt động
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';0
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';10 là một hàm chuỗi, vì vậy nó chuyển đổi
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';15 thành một chuỗi ở định dạng
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';2' và thực hiện so sánh chuỗi. Nó không chuyển đổi
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';20 thành ngày
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';21 và thực hiện so sánh ngày
Nếu bạn kích hoạt chế độ SQL
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';22, MySQL cho phép bạn lưu trữ các ngày chỉ được kiểm tra hạn chế. MySQL chỉ yêu cầu ngày nằm trong khoảng từ 1 đến 31 và tháng nằm trong khoảng từ 1 đến 12. Điều này làm cho MySQL trở nên rất thuận tiện cho các ứng dụng Web nơi bạn có được năm, tháng và ngày trong ba trường khác nhau và bạn muốn lưu trữ chính xác những gì người dùng đã chèn [không cần xác thực ngày tháng]
MySQL cho phép bạn lưu trữ các ngày trong đó ngày hoặc tháng và ngày bằng không. Điều này thuận tiện nếu bạn muốn lưu trữ ngày sinh trong cột
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1 và bạn chỉ biết một phần của ngày. Để không cho phép các phần không của tháng hoặc ngày trong ngày, hãy bật chế độ
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';24
MySQL cho phép bạn lưu trữ giá trị “không” của
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';11 dưới dạng “ngày giả. ” Điều này trong một số trường hợp thuận tiện hơn việc sử dụng các giá trị
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';14. Nếu một ngày được lưu trữ trong cột
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';1 không thể được chuyển đổi thành bất kỳ giá trị hợp lý nào, thì MySQL sẽ lưu trữ
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';11. Để không cho phép
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';11, hãy bật chế độ
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';30
Để MySQL kiểm tra tất cả các ngày và chỉ chấp nhận các ngày hợp pháp [trừ khi bị ghi đè bởi
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';31], hãy đặt biến hệ thống
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';32 thành
INSERT INTO t1 [idate] VALUES [19970505]; INSERT INTO t1 [idate] VALUES ['19970505']; INSERT INTO t1 [idate] VALUES ['97-05-05']; INSERT INTO t1 [idate] VALUES ['1997.05.05']; INSERT INTO t1 [idate] VALUES ['1997 05 05']; INSERT INTO t1 [idate] VALUES ['0000-00-00']; SELECT idate FROM t1 WHERE idate >= '1997-05-05'; SELECT idate FROM t1 WHERE idate >= 19970505; SELECT MOD[idate,100] FROM t1 WHERE idate >= 19970505; SELECT idate FROM t1 WHERE idate >= '19970505';33