🐈
条件分岐と関数
条件分岐
⚫︎CASE
CASE 評価する列や式 WHEN 値1(条件式、列名) THEN 値1の時に返す値
WHEN 値2(条件式、列名) THEN 値2の時に返す値
ELSE デフォルト値
END
例
SELECT カラム名1, カラム名2
CASE WHEN カラム名1 < 5000 THEN 'お小遣い'
WHEN カラム名1 < 10000 THEN '一時収入'
WHEN カラム名1 < 30000 THEN '給料出た!'
ELSE '想定外の収入です!'
END AS 収入の分類
FROM テーブル名
WHERE カラム名1 > 0
文字列関数
⚫︎LENGTH / LEN - 文字列の長さを取得
構文
LENGTH(文字列を表す列)
例
SELECT カラム名,LENGTH(カラム名) AS メモの長さ FROM 家計簿
WHERE LENGTH(カラム名) <= 10
⚫︎TRIM - 空白を除去
構文
TRIM(文字列を表す列) FROM テーブル名
例
SELECT カラム名,TRIM(カラム名) AS 空白除去したメモ
FROM テーブル名
⚫︎REPLACE - 指定文字を置換
構文
REPLACE(置換対象の文字列,置換前の部分文字列,置換後の部分文字列)
例
UPDATE テーブル名
SET カラム名 = REPLACE(カラム名,'購入','買った')
⚫︎SUBSTRING / SUBSTR - 文字列の一部を抽出
構文
SUBSTRING(文字列を表す列,抽出を開始する位置,抽出する文字の数)
SUBSTR(文字列を表す列,抽出を開始する位置,抽出する文字の数)
例
SELECT * FROM テーブル名
WHERE SUBSTRING(カラム名, 1, 3) LIKE '%費%'
⚫︎CONTACT - 文字列を連結
構文
CONCAT(文字列,文字列,[, 文字列])
例
SELECT CONCAT(カラム名,':' || カラム名) FROM テーブル名
数値関数
⚫︎ROUND - 指定した桁数で四捨五入
構文
ROUND(数値を表す列,有効とする桁数)
SELECT カラム名, ROUND(カラム名,-2) FROM テーブル名
⚫︎TRUNC - 指定した桁数で切り捨て
構文
TRUNC(数値を表す列,有効とする桁数)
例
SELECT カラム名, ROUND(カラム名,-2) FROM テーブル名
⚫︎POWER - べき乗を計算
構文
POWER(数値を表す列,何乗するか数値を入力)
例
SELECT カラム名, POWER(カラム名,3) FROM テーブル名
//カラムを三乗する
時間関数
⚫︎CURRENT - 現在時刻を取得
構文
CURRENT_TIMESTAMP → 現在の日付(年, 月, 日, 時, 分, 秒)
CURRENT_DATE → 現在の日付(年, 月, 日)
CURRENT_TIME → 現在の日付(時, 分, 秒)
例
INSERT INTO 家計簿
VALUE (CURRENT_TIMESTAMP, '食費', 'ドーナッツを買った',0,260)
変換関数(型変換、null値の変換)
⚫︎CAST - データ型変換
構文
CAST(変換する値 AS 変換する型)
例
SELECT CAST(カラム名 AS INTEGER)FROM テーブル名
⚫︎COALECE - 最初に現れるNULLでない値を返す
構文
COALESE(列や式1,列や式2,列や式3,)
例
Discussion