[本日の学習]SQL関数


CASE WHEN


フィールド値の変換
CASE
  WHEN 조건1 THEN1
  WHEN 조건2 THEN2
  ELSE3
END 필드이름

  • フィールド名の要約、条件に応じて値を適用


  • SELECT channel_id, CASE
      WHEN channel_id in (1,5,6) THEN 'Social-Media'
      WHEN channel_id in (2,4) THEN 'Search-Engine'
      ELSE 'Something-Else'
      END channel_type
    FROM prod.session;

    COUNT(フィールド名)


  • すべてのレコードをカウントするCOUNT(*)COUNT(0)COUNT(1)とは異なり、COUNT(필드명)はこのフィールドの値を順番に入れるため、NULL以外の場合にのみカウントされる

  • 同様の理由でCOUNT(DISTINCT 필드명)形式で使用する場合、NULL以外のフィールド値の種類数を算出する
  • STRING関数

  • LEFT(str,N):左からN文字
  • を抽出
  • REPLACE(str,exp 1,exp 2):strのexp 1モードをexp 2に変更
  • UPPER(str):大文字化
  • LOWER(str):小文字
  • LENGTH(str):文字列長
  • LPAD,RPAD:文字列の左側または右側に特定の文字
  • を埋め込む.
  • SUBSTRING:文字列スライド
  • CONCAT:文字列連結
  • せいけいかん

  • cast()またはconvert()の関数に変換できます


  • cast('100.0' as float);
    convert('100.0', float);