Daita
  • Introduction
  • Getting started
  • Usage
    • relational
      • SELECT
      • INSERT
      • UPDATE
      • DELETE
      • Schema
        • CREATE SCHEMA
      • Table
        • CREATE TABLE
        • ALTER TABLE
        • DROP TABLE
        • LOCK TABLE
      • View
        • CREATE VIEW
        • DROP VIEW
      • Index
        • CREATE INDEX
        • DROP INDEX
      • Functions
        • Aggregation
          • AVG
          • COUNT
          • MAX
          • MIN
          • SUM
        • Conditional
          • CASE WHEN
          • COALESCE
          • GREATEST
          • LEAST
        • Date
          • DAY OF MONTH
          • DAY OF WEEK
          • DAY OF YEAR
          • HOUR
          • MINUTE
          • MONTH
          • NOW
          • SECOND
          • WEEK OF YEAR
          • YEAR
        • Numeric
          • CEIL
          • FLOOR
          • ROUND
        • String
          • CONCAT
    • ORM
    • cli
  • Adapters
    • pg-adapter
    • sqlite-adpater
    • mariadb-adpater
    • http-adpater
Powered by GitBook
On this page
  1. Usage
  2. relational
  3. Functions
  4. Conditional

CASE WHEN

const stats = await client.select({
   select: {
       height: caseWhen(case => case
          .when(greaterThan(field(Moutain, 'height'), 2000), 'Tier A')
          .when(greaterThan(field(Mountain, 'height'), 1000), 'Tier B')
          .else('Tier C'),
       name: field(Mountain, 'name'),
   }
   from: table(Mountain),
});
// sql: SELECT 
//         CASE WHEN "Mountain"."height" > 2000 THEN 'Tier A' 
//              WHEN "Mountain"."height" > 1000 THEN 'Tier B' 
//              ELSE 'Tier C' END, 
//         "Mountain"."name"
//      FROM "Mountain"
//
// const stats: { height: number, name: string }[]
PreviousConditionalNextCOALESCE

Last updated 1 year ago