2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

初心者による初心者の為のSQLまとめ

Posted at

現場でよく使うSQL 初心者の忘備録 

SQL初心者が初めて現場に入った時に、よく使ったSQLまとめ
posgre,Oracleをメインに使用

文字列関数と演算子

部分文字列の取り出し

substr(string, start int, length int])

--例
substr('Thomas' , 2, 3)
--結果
hom

文字列の結合

string || string

-- 例
'Thomas' || ' ' || 'Edison'
-- 結果
Thomas Edison

半角スペースを文字列の先頭と末尾から除去する

trim(string)
-- 例
trim(' Thomas Edison ')
-- 結果
Thomas Edison

指定文字列を文字列の先頭と末尾から除去する

trim(characters from string)
-- 例
trim('abc' from 'abcThomasabc')
-- 結果
Thomas

文字列の前後から全角スペースと半角スペースを除去したい場合は以下を使用(現場で移行元データ に不要なスペースが多数含まれており、以下の記述は頻繁に使用した)

文字列を置換する

trim(trim(' ' from ' Thomas ')
replace(string, from_text string, to_text string)
-- 例
replace('abcdefabcdef', 'cd', 'XX')
-- 結果
abXXefabXXef

正規表現で文字列を置換する

regexp_replace(string, from_text string, to_text string)
-- 例
regexp_replace('Thomas', '.[mN]a.', 'M')
-- 結果
ThM

大文字⇔小文字の変換

upper(string) -- 大文字に変換 lower(string) -- 小文字に変換

文字列の文字数・バイト数を返す

length(string) -- 文字数 lengthb(string) -- バイト数
-- 例
length('⻁視眈々')
-- 結果
4
-- 例
lengthb('⻁視眈々')
-- 結果
8
-- 例
upper('tom')
-- 結果
TOM
-- 例
lower('TOM')
-- 結果
tom

データ型書式設定関数

PostgreSQLのデータ型書式設定関数は様々なデータ型(日付/時刻データ型や数値データ型など)を文字列へ変 換したり、文字列を特定のデータ型に変換することができる

タイムスタンプ⇒文字列

to_char(timestamp, text)
-- 例
to_char(current_timestamp, 'HH12:MI:SS')

整数⇒文字列

to_char(int)
-- 例 to_char(128)

文字列⇒日付

to_date(text, text)
-- 例
to_date('1998/03/02', 'yyyy/mm/dd')

文字列⇒数値

to_number(text)
-- 例 to_number('2980')

条件式

SQLのCASE式は、ほかのプログラミング言語のif/else構文に類似している

CASE文

CASE
WHEN 条件 THEN
-- TRUEの場合の処理 ELSE
-- FALSEの場合の処理 END

使用例
SELECT
age
, CASE
WHEN age >= 20 THEN '成人'
ELSE '未成年' END
FROM
wk_tbl;

以下のようにWHERE句で使用することもできる
SELECT ...
WHERE
CASE
WHEN x <> 0 THEN y/x > 1.5
ELSE false
END;

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?