複数keywordでの絞込
where likeの多用による、複数keywordでの絞込はperformance低下に繋がるため、以下の記載で複数のkeywordでの絞込を行う(下記の場合、前方一致での絞込
where regexp_like(【column_name】,'^【keyword】|^【keyword】|^【keyword】')
case式
値が「1か2か3」だったら1を入れる
値が「4か5か6」だったら0を入れる
それ以外だったらnullとする
case
when 【column_name】 in (1,2,3) then 1
when 【column_name】 in (4,5,6) then 0
else null
end as 【column_name】
data型の変換
整数に変換
cast(【column_name】 as int)
nullを埋める
指定した文字列(や数値、0等)でnullが埋められる
coalesce(【column_name】,【代わりに埋めたい文字列】)
文字列の加工
分割
下記により出力されるのは配列なので、分割後のものを使用したい場合は、
split(【column_name】,'【分割のkeyとしたい文字列】')
下記のように配列の中身を取り出す(sqlの場合、配列は0からではなく、1からのstart
select 【column_name】[1]
結合
2つのcolumnを結合したcolumnを作成
concat(【column_name】,【column_name】)
queryによるtableの作成と削除(≒更新
【table_name】が既に存在していたら、一旦削除
その上で、【table_name】を【sub query】を実行する形で作成(≒tableを更新
これらをbatchで定期的に実行する等
drop table if exists 【table_name】;
create table if not exists 【table_name】 as
with (以下【sub query】)
group byの注意点
大文字/小文字で別々にgroupingされてしまうので、以下のように大文字変換か小文字変換を行い、統一してからgroup byをすると確実
upper(【column_name】)
lower(【column_name】)