
CASE, COALESCE және күн: сақталған фактіні түсінікті көрсету
Есептелетін бағандар құрып, NULL мәнін дұрыс өңдеп, ай шекарасын белгілейміз.
Бұл не үшін қажет
База тиын, ISO күн және кілт сияқты тұрақты фактіні сақтайды; оқырманға теңге, түсінікті атау мен лимит күйі керек.
Бейне. Сақталған факт — азық, SELECT өрнегі — оны ұсыну тәсілі. Азықты әр тағамға алдын ала бөліп сақтамаңыз.
Алдымен тұтас көрініс
SELECT happened_on,
amount_tiyn / 100.0 AS amount_kzt,
COALESCE(note, 'Ескертпесіз') AS note,
CASE
WHEN amount_tiyn >= 5000000 THEN 'ірі'
WHEN amount_tiyn >= 1000000 THEN 'орташа'
ELSE 'шағын'
END AS size
FROM transactions;
Талдау
AS нәтижені атайды. 100.0-ге бөлу тек көрсетуге арналған, бастапқы ақша бүтін болып қалады. COALESCE фактіні өзгертпей, алғашқы NULL емес мәнді қайтарады. CASE шарттарды жоғарыдан төмен тексереді. Кезең шекарасын параметрмен беріңіз; SQLite күн модификаторлары пайдалы, бірақ басқа жүйеге дәл көшпейді.
Сабақ картасы
Өз сөзіңізбен айтыңыз
- Теңгені көрсетсек те, тиынды неге сақтаймыз?
- COALESCE қандай мағынаны сақтайды?
- CASE шарттарының реті неге маңызды?
Тапсырма
Әр шығынның санат лимитіне сыйғанын не асқанын көрсететін белгі қосыңыз.
Жобадағы орны
Бұл өрнектер бастапқы фактіні қайталамай, есепті түсінікті етеді.
Жауаптар
Жауаптарды көрсету
SELECT id,
CASE WHEN NULLIF(trim(note), '') IS NULL THEN 'no' ELSE 'yes' END AS has_note
FROM transactions;
Пікірлер (0)
Пікір қалдыру үшін кіріңіз →
Әзірге пікір жоқ. Бірінші болыңыз.