ຄຳ Date Function SQL
SQL ວັນທີ
ຄວາມຍາກທີ່ສຸດທີ່ພວກເຮົາຈະກໍາລັງຮັບປະກັນວ່າຮູບແບບວັນທີທີ່ຈະເພີ່ມຂື້ນຈະຈະຄົງກັນກັບຮູບແບບວັນທີຂອງວົງມານິວບັນຍານວັນທີ.
ພຽງແຕ່ບັນດາຂໍ້ມູນທີ່ມີພາກວັນທີພຽງພຽງແຕ່ບັນດາການຊອກຫາຈະບໍ່ມີບັນຫາ. ແຕ່ຖ້າມີເວລາ, ການຄິດຂອງພວກເຮົາຈະມີຄວາມຄິດຫຼາຍກວ່າ.
ກ່ອນທີ່ພວກເຮົາກໍາລັງກ່ຽວກັບຄວາມຄິດຂອງການຊອກຫາວັນທີຫຼາຍຄວາມຄິດຂອງພວກເຮົາຈະກໍາລັງກ່ຽວກັບບັນດາບັນດາບັນຍານວັນທີທີ່ມີຄວາມສໍາຄັນຫຼາຍ:
ບັນດາບັນຍານວັນທີຂອງ MySQL
ຕາຕະລາງດັ່ງກ່າວລວມບັນດາບັນດາບັນຍານວັນທີທີ່ມີຄວາມສໍາຄັນຫຼາຍໃນ MySQL:
ຫົວຫຼັກ | ອະທິບາຍ |
---|---|
NOW() | ກັບວັນທີແລະເວລາທີ່ປະຈຸບັນ |
CURDATE() | ກັບວັນທີທີ່ປະຈຸບັນ |
CURTIME() | ກັບເວລາທີ່ປະຈຸບັນ |
DATE() | ການເອົາພາກສ່ວນວັນທີຫຼືວັນທີ/ເວລາຂອງການສະແດງວັນທີ/ເວລາ |
EXTRACT() | ກັບວັນທີ/ເວລາທີ່ຈະກັບກັນ |
DATE_ADD() | ຈະເພີ່ມເວລາຂອງວັນທີ |
DATE_SUB() | ຈາກວັນທີທີ່ຈະຫຼຸດອອກເວລາຂອງວັນທີ |
DATEDIFF() | ກັບວັນທີທີ່ຈະກັບກັນ |
DATE_FORMAT() | ສະແດງວັນ/ເວລາທີ່ມີຮູບແບບທີ່ແຕກຕ່າງກັນ |
ບັນດາບັນຍານວັນທີຂອງ SQL Server
ຕາຕະລາງດັ່ງກ່າວລວມບັນດາຫົວຫຼັກບັນດາບັນຍານວັນທີທີ່ມີຄວາມສໍາຄັນຫຼາຍໃນ SQL Server:
ຫົວຫຼັກ | ອະທິບາຍ |
---|---|
GETDATE() | ກັບວັນທີແລະເວລາທີ່ປະຈຸບັນ |
DATEPART() | ກັບວັນທີ/ເວລາທີ່ຈະກັບກັນ |
DATEADD() | ສະເພາະກັບວັນທີໃນທີ່ຈະເພີ່ມຫຼືຫຼຸດອອກເວລາຂອງວັນທີ |
DATEDIFF() | ກັບວັນທີທີ່ຈະກັບກັນ |
CONVERT() | ສະແດງວັນ/ເວລາທີ່ມີຮູບແບບທີ່ແຕກຕ່າງກັນ |
ບັນດາບັນຍານ SQL Date
MySQL ນຳໃຊ້ບັນດາບັນຍານຂອງຂໍ້ມູນທີ່ພາຍໃນຖານຂໍ້ມູນເພື່ອບັນທຶກວັນທີຫຼືວັນທີ/ເວລາຫຼືວັນທີ/ເວລາຂອງຂໍ້ມູນ:
- DATE - ຮູບແບບ YYYY-MM-DD
- DATETIME - ຮູບແບບ: YYYY-MM-DD HH:MM:SS
- TIMESTAMP - ຮູບແບບ: YYYY-MM-DD HH:MM:SS
- YEAR - ຮູບແບບ YYYY ຫລື YY
SQL Server ນຳໃຊ້ບັນດາປະເພດຂໍ້ມູນທີ່ກ່ຽວກັບວັນ ແລະ ວັນ/ເວລາ ໃນຖານຂໍ້ມູນ:
- DATE - ຮູບແບບ YYYY-MM-DD
- DATETIME - ຮູບແບບ: YYYY-MM-DD HH:MM:SS
- SMALLDATETIME - ຮູບແບບ: YYYY-MM-DD HH:MM:SS
- TIMESTAMP - ຮູບແບບ: ຈຳນວນອັນດັບພຽງຢ່າງດຽວ
ການຂະແນນວັນຂອງ SQL
ຖ້າບໍ່ມີພາກເວລາທີ່ຢູ່ໃນວັນ ພວກເຮົາສາມາດປຽບທຽບວັນຄັ້ງຄັ້ງທັນທີ!
ຖ້າພວກເຮົາມີ "Orders" ຄືກັບດັ່ງກ່າວ:
OrderId | ProductName | OrderDate |
---|---|---|
1 | computer | 2008-12-26 |
2 | printer | 2008-12-26 |
3 | electrograph | 2008-11-12 |
4 | telephone | 2008-10-19 |
ຕອນນີ້ພວກເຮົາຕ້ອງການເລືອກຂໍ້ມູນຈາກການແບບ "2008-12-26".
ພວກເຮົານຳໃຊ້ SELECT 语句 ທີ່ກ່າວກ່າວນີ້:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
ຂໍ້ມູນຮຽບຮ້ອງ:
OrderId | ProductName | OrderDate |
---|---|---|
1 | computer | 2008-12-26 |
3 | electrograph | 2008-12-26 |
ຕອນນີ້ພວກເຮົາກໍາລັງຄິດວ່າ "Orders" ຄືກັບດັ່ງກ່າວ (ບໍ່ສາມາດລະບຸພາກເວລາທີ່ຢູ່ໃນວັນ OrderDate):
OrderId | ProductName | OrderDate |
---|---|---|
1 | computer | 2008-12-26 16:23:55 |
2 | printer | 2008-12-26 10:45:26 |
3 | electrograph | 2008-11-12 14:12:08 |
4 | telephone | 2008-10-19 12:56:10 |
ຖ້າເຈົ້ານຳໃຊ້ຄຳສັ່ງ SELECT ທີ່ກ່າວກ່າວນີ້:
SELECT * FROM Orders WHERE OrderDate='2008-12-26'
ພວກເຮົາບໍ່ສາມາດຮຽບຮ້ອງຄວາມສົມທອນ. ຍ້ອນວ່າການຊອກຫາບໍ່ມີພາກເວລາທີ່ຢູ່ໃນວັນ.
ຄຳແນະນຳ:ຖ້າເຈົ້າຕ້ອງການເຮັດການຊອກຫາທີ່ງ່າຍແລະຄົງຢູ່ຫລາຍກວ່າ ບໍ່ຕ້ອງໃຊ້ພາກເວລາໃນວັນ!