SQL sanalar
SQL Sanalari bilan ishlash
Ma’lumotlar bazalarida sanalar bilan ishlashdagi eng qiyin jihat - kiritmoqchi yoki tanlamoqchi bo‘lgan sanangiz formati ma’lumotlar bazasidagi sana ustunining formatiga mos kelishiga ishonch hosil qilishdir.
SQL sanasi ma’lumotlar turlari
Turli xil SQL ma’lumotlar bazalarida sana va vaqt qiymatlarini saqlash uchun turli xil ma’lumotlar turlari mavjud.
MySQL quyidagi sana ma’lumotlar turlariga ega:
DATE- YYYY-MM-DD formati-
DATETIME- format: YYYY-MM-DD HH:MI:SS TIMESTAMP- format: YYYY-MM-DD HH:MI:SSTIME- format: HH:MI:SS-
YEAR- format YYYY or YY
SQL Serverda quyidagi sana ma’lumotlari turlari mavjud:
DATE- YYYY-MM-DD formati-
DATETIME- format: YYYY-MM-DD HH:MI:SS -
SMALLDATETIME- format: YYYY-MM-DD HH:MI:SS -
TIME- format: HH:MI:SS TIMESTAMP- format: a unique number
Eslatma: Sana ma’lumot tiplari ma’lumotlar bazasida yangi jadval yaratilayotganda ustun uchun belgilanadi.
SQL sanalar bilan ishlash
Quyidagi jadvalga qarang:
Orders jadvali
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2025-11-11 |
| 2 | Camembert Pierrot | 2025-11-09 |
| 3 | Mozzarella di Giovanni | 2025-11-11 |
| 4 | Mascarpone Fabioli | 2025-10-29 |
Endi biz yuqoridagi jadvaldan OrderDate qiymati "2025-11-11" bo‘lgan yozuvlarni tanlamoqchimiz.
Biz quyidagi SELECT operatoridan foydalanamiz:
SELECT * FROM Orders WHERE OrderDate='2025-11-11'
Natijalar to‘plami quyidagicha ko‘rinadi:
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2025-11-11 |
| 3 | Mozzarella di Giovanni | 2025-11-11 |
Eslatma: Agar vaqt komponenti bo‘lmasa, ikkita sanani osongina solishtirish mumkin!
Endi "Orders" jadvali quyidagicha ko‘rinadi deb faraz qiling ("OrderDate" ustuniga qo‘shilgan vaqt komponentiga e’tibor bering):
| OrderId | ProductName | OrderDate |
|---|---|---|
| 1 | Geitost | 2025-11-11 13:23:44 |
| 2 | Camembert Pierrot | 2025-11-09 15:45:21 |
| 3 | Mozzarella di Giovanni | 2025-11-11 11:12:01 |
| 4 | Mascarpone Fabioli | 2025-10-29 14:56:59 |
Agar biz yuqoridagi kabi SELECT iborasidan foydalansak:
SELECT * FROM Orders WHERE OrderDate='2025-11-11'
hech qanday natijaga erisha olmaymiz! Buning sababi, so‘rov faqat vaqt qismi bo‘lmagan sanalarni qidiradi.
Maslahat: So‘rovlaringiz sodda va qo‘llab-quvvatlash oson bo‘lishi uchun, zarurat bo‘lmasa, sanalarda vaqt komponentlaridan foydalanmang!
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
