본문 바로가기

SQL/멋쟁이 사자처럼 강의 복습

SQL Review(3rd. 숫자열 & 문자열 함수 & 형변환)

728x90

숫자형 함수

 

  • round 함수 : 해당 항목 레코드의 숫자를 반올림하여 출력하는 함수. 0이 소수점 첫째자리
select round(반올림할 숫자, 자릿수) # (소수점 아래로)입력한 자릿수(숫자)까지 나타냄
select round(100.56789,3)

select cost, round(cost,2)
from `thelook_ecommerce.products`

 

 

  • trunc 함수 : 해당 항목 레코드의 숫자를 내림(절삭)하여 출력하는 함수. .0 이 소수점 첫째자리
select trunc(숫자, 자릿수)
select trunc(100.56789,3)

select cost, round(cost,2)
from `thelook_ecommerce.products`

 

 

 

  • mod 함수 : 해당 항목 레코드의 숫자를 나누기하여 나머지를 출력하는 함수
select mod(숫자,나눌값)
  • 숫자와 나눌값의 형(타입)이 맞아야 함
select mod(10,3)


문자열 함수

 

  • substr 함수 : 문자열의 일부만 출력할 수 있음
select substr(문자열, 시작 위치, 길이)
select substr('hello world',3,5)

select substr('hello world',3) #시작위치만 지정 시 , 시작위치부터 끝까지 출력

 

 

  • left, right 함수 :문자열을 왼쪽(오른쪽)에서 얼만큼 자를 지 설정한 후에 조회
select left(문자열,길이)
select left('064-000-0000',3)

 

 

  • concat 함수 : 여러 문자열을 하나로 연결
select concat('paul', '-', 'lab')

연결 연산자('||')로도 가능

select first_name || ',' || last_name  #concat(first_name, ',', last_name)
from `thelook_ecommerce.users`;

select 
  id,
  name,
  cost,
  retail_price,
  concat(round(cost / retail_price * 100, 2), '%')
from `thelook_ecommerce.products`

 

 

  • replace 함수 : 바꾸고 싶은 값으로 대상 값을 교체
select replace(gender, 'M', 'Man')  #(문자열, 교체 원하는 문자 지정 , 바꿔주고싶은 문자로 지정)
from `thelook_ecommerce.users`;

 

 

  • length 함수 : 문자열의 길이를 출력합니다. COUNT와 비교해서 기억
select length('hello world')

select length(first_name)
from `thelook_ecommerce.users`;

 

  • instr 함수 : 문자열의 위치를 구하는 함수. INDEX는 1부터 시작. 프로그래밍 언어는 0부터 시작
select instr('abcdef','b')

select instr(email, '@')
from `thelook_ecommerce.users`;

 

  • ifnull 함수 : 해당 컬럼에 NULL값이 있는 경우 다른 값으로 채워넣음
select IFNULL(name, '담당자 지정 안됨')
from `weniv.weniv_event`

 

형 변환

# CAST(데이터 AS 타입명)

 

1) 문자열 형태를 변경

# 문자열 -> 숫자로 바꾸는거
# 문자열 -> 자연수(INTEGER)
# 문자열 -> FLOAT

select CAST('123' AS INT64)
select '123' + '123' # 에러
select CAST('123' AS INT64) + CAST('123' AS INT64)
select CAST('123.123' AS FLOAT64)
select CAST('123' AS NUMERIC)
select CAST('123.123' AS NUMERIC)

# NUMERIC => 실수표현하는 단위. Decimal과 동일

 

2) 숫자 형태를 변경

# 숫자(INTEGER) -> 문자
# 숫자(FLOAT) -> 문자
# true, false -> 문자
select CAST(123 AS STRING)
select CAST(123.123 AS STRING)
select CAST(true AS STRING)
select CAST(false AS STRING)
select CAST(NULL AS STRING)

 

3) 문자열 -> 날짜타입 변경

# 날짜 타입
# 1) DATE
# 문자열 -> DATE
# 2) DATETIME
# 문자열 -> DATETIME
select DATE('2011-12-01 11:12:34')
select DATETIME('2011-12-01 11:12:34')

 

 

※ 형 변환 참고

  Big Query mysql, mariaDB
가능한 함수 string(), cast() cast(), convert()
함수 별 사용 법 string
● 날짜데이터 -> 문자열

cast
● 문자열 -> 숫자
● 숫자 -> 문자열 
X

 

 

instr 함수 : 지정 문자열의 위치가 나옴. 결과값은 숫자

substr 함수 : 해당 길이? 만큼의 문자열을 가져온다. 결과값 문자열 (파이썬에서 마스킹 역할)

 

ROUND 함수 : ( 숫자, N = 소수점아래 숫자) EX) 소수점 아래 2자리 까지 보고 싶다면 2 입력

 

DATE & DATETIME 함수 : Quarter 정보도 출력 가능 . SQL 4th 수업 들으면서 사용

 

728x90

'SQL > 멋쟁이 사자처럼 강의 복습' 카테고리의 다른 글

SQL Review (5th UNION)  (0) 2023.01.27
SQL Review(4th JOIN)  (0) 2023.01.26
SQL Review (4th CASE IF)  (0) 2023.01.26
SQL Review (3rd. 날짜형 함수)  (0) 2023.01.25
SQL Review(2nd. GROUP BY, HAVING )  (0) 2023.01.21