Shanraq.org Shanraq.org
CASE, COALESCE және күн: сақталған фактіні түсінікті көрсету
IT

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 күн модификаторлары пайдалы, бірақ басқа жүйеге дәл көшпейді.

Сабақ картасы

CASE, COALESCE және күн

Өз сөзіңізбен айтыңыз

  1. Теңгені көрсетсек те, тиынды неге сақтаймыз?
  2. COALESCE қандай мағынаны сақтайды?
  3. CASE шарттарының реті неге маңызды?

Тапсырма

Әр шығынның санат лимитіне сыйғанын не асқанын көрсететін белгі қосыңыз.

Жобадағы орны

Бұл өрнектер бастапқы фактіні қайталамай, есепті түсінікті етеді.

Жауаптар

Жауаптарды көрсету
SELECT id,
       CASE WHEN NULLIF(trim(note), '') IS NULL THEN 'no' ELSE 'yes' END AS has_note
FROM transactions;

Дереккөздер

Мәтінде қате не теру қатесі кездессе, бізге айтыңыз

Тапсырманы тексеру

Алдымен VS Code-та шешіп, іске қосыңыз — редактор қатені сол жерде көрсетеді. Дайын шешімді осында қойыңыз. Тексеретін — модель: ол қатені атап көрсетеді, бірақ дайын жауапты бермейді.

Тексеру үшін кіру керек. Кіру

Пікірлер (0)

Әзірге пікір жоқ. Бірінші болыңыз.