1.1 Shartli funksiyalar ro'yxati
SQL tilida Java'dagi if-else va switch operatorlariga o'xshash funksiyalar bor.
Bunday funksiyalar jami 4 ta:
| Funksiyalar | Tavsif | |
|---|---|---|
| 1 | CASE | switch analogi |
| 2 | IF() | ternar operator yoki if-else analogi |
| 3 | IFNULL() | if-else analogi |
| 4 | NULLIF() | if-else analogi |
SQLda oxirgi uchta functions shaklida keltirilgan, lekin CASE – bu to'liq operator, shuning uchun uni oxirida alohida ko'rib chiqamiz.
1.2 IF() funksiyasi
SQL'dagi IF() funksiyasi Java'dagi ternar operatoriga o'xshaydi. SQL tilida u 3 ta parametrni qabul qiladi va quyidagi ko'rinishda:
IF (shart, to'g'ri, noto'g'ri)
IF funksiyasiga uchta ifodani berish kerak:
- shart, u to'g'rilikka tekshiriladi;
- shart to'g'ri bo'lsa qaytariladigan ifoda;
- shart noto'g'ri bo'lsa qaytariladigan ifoda.
Quyida qanday ishlashini osonroq tushunish uchun bir nechta misollar keltiraman:
| So'rov | Natija | |
|---|---|---|
| 1 | SELECT IF(1>2, 2, 3) | 3 |
| 2 | SELECT IF(1<2, 'yes', 'no') | 'yes' |
| 3 | SELECT IF(STRCMP('test','test1'), 'no', 'yes') | 'no' |
1.3 IFNULL() va NULLIF() funksiyalari
Bundan tashqari, IF() funksiyasining ikki xil modifikatsiyasi mavjud.
Birinchi modifikatsiya – bu IFNULL() funksiyasi. U faqat ikkita qiymat qabul qiladi:
IFNULL (ifoda1, ifoda2)
Agar ifoda1 NULLga teng bo'lmasa, unda funksiya ifoda1ni qaytaradi. Agar ifoda1 IS NULL, bo'lsa, funksiya ifoda2ni qaytaradi. Maqsad – maydon NULL bo'lganda standart qiymatni qo'yish.
IF funksiyasining ikkinchi modifikatsiyasi – NULLIF() funksiyasidir, u ham ikkita qiymat qabul qiladi:
NULLIF (ifoda1, ifoda2)
U qarama-qarshi yo'nalishda ishlaydi:
- agar ifoda1 ifoda2ga teng bo'lsa, funksiya
NULLni qaytaradi; - agar ifodalar teng bo'lmasa, ifoda1ni qaytaradi.
GO TO FULL VERSION