SQL (CONCAT,LIKE,REPLACE)

今日やったこと

SQL

SQL動物園 - 0 SELECT basics - 1 SELECT name

いい感じに復習できたかなと思います。むしろ、SQLは一通りやったけど、あまり関数を触った経験はなかったので、CONCAT とか LIKE とか REPLACE とかさわれたのは良かったですね。

CONCAT

文字列を連結させてくれる関数

sample code

SELECT name
  FROM world
 WHERE capital = CONCAT(name, ' ', 'City');

このクエリの中でnameはカラム名だが、その値をCONCATの関数の中で利用する場合は、クオートせずに使ってあげると良いようだ。

LIKE

  • _ で任意の1文字マッチ
  • % で任意の長さ(0文字も含む)の任意の文字列とマッチ

sample code

SELECT name FROM world
 WHERE name LIKE '_t%'
ORDER BY name;

REPLACE

REPLACE(hoge, 'piyo', 'fuga')
hoge カラムの piyo と言う文字列を fuga と置き換える

sample code

SELECT name
      ,REPLACE(capital, name, '') AS extension
  FROM world
 WHERE capital LIKE CONCAT(name, '_%');

とまあ今日はここまで