SQL sanalar


baham ko'ring

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:SS
  • TIME - 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!