SQL

[기본 쿼리] 문자열, 날짜/시간, 숫자 함수

DAdiary 2024. 5. 20. 21:05
  • 문자열 함수
  1. LENGTH(string) : 컬럼 값의 문자열 길이 반환
  2. UPPER(string): 컬럼 값을 대문자로 변환
  3. CONCAT(string1, string2, …): 두개 이상의 컬럼 값을 하나로 합침
  4. SUBSTRING(string, start, length): 컬럼 값에서 부분 문자열 추출 *length가 string 길이보다 길면 아무것도 반환하지 않음
  5. LOCATE(찾는 값, string): 찾는 값이 string에 몇번째에 위치해 있는지 확인 *찾는 문자가 없다면 0을 반환
  6. RIGHT(string, 숫자), LEFT(string, 숫자): 엑셀의 right, left와 동일한 기능
  7. REPLACE(string, 기존 값, 변경할 값) : string 내의 기존 값을 변경할 값으로 변경

 


  • 날짜/시간 함수
  1. NOW(): 현재 날짜 및 시간 반환
  2. CURDATE(): 현재 날짜 반환
  3. CURTIME() : 현재 시간 반환
    * 1~3번은 ()괄호 안에 입력값이 없음
  4. DATE_ADD(date, INTERVAL unit) : 날짜에 간격 추가
    년: YEAR, 달: MONTH, 일: DAY, 시간: HOUR, 분: MINUTE, 초: SECOND
  5. DATE_SUB(date, INTERVAL unit) : 날짜에서 간격 빼기
    년: YEAR, 달: MONTH, 일: DAY, 시간: HOUR, 분: MINUTE, 초: SECOND
  6. EXTRACT(field FROM source) : 날짜 필드에서 특정 부분(예: 년, 월, 일 등)을 추출
    field : 추출할 날짜의 부분 (YEAR, MONTH, DAY, HOUR, MINUTE 등)
    source : 날짜 값이 저장된 컬럼 또는 날짜 리터럴
    - YEAR() , MONTH() , DAY() , HOUR(), MINUTE(), SECOND()로 원하는 특정 날짜/시간 단위만 추출하기도 가능
    - MONTH/DAYNAME() : MONTH/DAY를 영어로 반환
    단, EXTRACT() 는 ANSI SQL(표준 SQL)에 들어 있는 함수이고, 위 함수들은 그렇지 않기 때문에, 일부 데이터베이스에서는 지원하지 않을 수 있음
  7. DAYOFWEEK(): 요일 반환
    1: 일요일 ~ 7: 토요일
  8. TIMESTAMPDIFF(unit, start_datetime, end_datetime)
    두 날짜 또는 시간 값 사이의 차이를 계산
    Unit: SECOND , MINUTE , HOUR , DAY , WEEK , MONTH , YEAR
  9. DATE_FORMAT(date, format)%Y : 4자리 연도
    %y : 2자리 연도
    %M : 월 이름 (예.May)
    %m : 2자리 월
    %D : 일 (영문 접미사 포함, 예: 2nd, 3rd, ...)
    %d : 2자리 일
    %H : 24시간 형식의 2자리 시간
    %h : 12시간 형식의 2자리 시간
  10. SELECT rental_id, DATE_FORMAT(rental_date, '%Y-%m-%d') AS formatted_rental_date FROM rental

 


  • 숫자 함수
  1. ABS(number) : 숫자의 절대값을 반환
  2. CEIL(number) : 숫자보다 크거나 같은 가장 작은 정수 값을 반환
  3. FLOOR(number) : 숫자 이하의 가장 정수 값을 반환
  4. ROUND(number, decimals) : 숫자를 특정 소수점 자리수로 반올림
  5. TRUNCATE(number, decimals) : 숫자를 특정 소수점 자리수로 내림(버림)
  6. MOD(num1, num2): num1을 num2로 나눈 나머지
  7. POWER(number, 제곱수): 숫자를 제곱