SQL 함수

중복 삭제 및 문자열 정리

DISTINCT

중복 데이터를 제외하고 고유한 값으로 목록을 생성한다.

SELECT
  DISTINCT player_id
FROM
  player_address

LENGTH

문자열 변수의 길이를 반환한다.

SELECT
  LENGTH(country) AS letters_in_country
FROM
  player_address
SELECT
  country
FROM
  player_address
WHERE
  LENGTH(country) > 2
country
USA

SUBSTR

SELECT
  country
FROM
  player_address
WHERE
  SUBSTR(coutry,1,2) = 'US'
country
US
USA
US

TRIM

공백을 제거한다.

SELECT
  DISTINCT player_id
FROM
  player_address
WHERE
  TRIM(state) = 'NY'

문자열 처리

CAST

데이터 유형을 변환(convert)한다.

SELECT
  player_name,
  CAST(player_goals AS FLOAT64)
FROM
  player_record
ORDER BY
  CAST(player_goals AS FLOAT64) DESC
player_name player_goals
Heung-min Son 13
Richarlison 10
Dejan Kulusevski 6
Cristian Romero 4
James Maddison 3

CONCAT

문자열을 합쳐(연결하여) 고유 키로 사용할 새 문자열을 만들 수 있다.

SELECT
  CONCAT(player_number, ' ', player_name) AS player_code
FROM
  player_info
ORDER BY
  CAST(player_goals AS FLOAT64) DESC
player_code
7 Heung-min Son
9 Richarlison
21 Dejan Kulusevski
17 Cristian Romero
10 James Maddison

COALESCE

Null이 아닌 값을 반환한다. 기존의 table이 아래와 같다면

player_number player_name
7 Heung-min Son
9 Richarlison
21 Dejan Kulusevski
null Cristian Romero
null James Maddison
SELECT
  COALESCE(player_number, player_name) AS player
FROM
  player_info

COALESCE를 이용해 null 값을 대체할 수 있다.

player
7
9
21
Cristian Romero
James Maddison