행위

Mysql 함수

DB CAFE

1 Mysql 함수

1.1 변환 함수

CONVERT ( 컬럼명, 변환형 )

  • mysql 4.0 이상인 경우 사용가능!!
  • 변환형은 다음 주어진 형만 가능하다!
  1. binary
  2. char
  3. date
  4. datetime
  5. signed
  6. time
  7. unsigned

1.2 숫자관련 함수

ABS(숫자)
 	 절대값 출력.
 CEILING(숫자)
 	 값보다 큰 정수 중 가장 작은 수.
 FLOOR(숫자)
 	 값보다 작은 정수 중 가장 큰 수[실수를 무조건 버림(음수일 경우는 제외)].
 ROUND(숫자,자릿수)
 	 숫자를 소수점 이하 자릿수에서 반올림.(자릿수는 양수,0,음수를 갖을 수 있다.)
 TRUNCATE(숫자,자릿수)
 	 숫자를 소수점 이하 자릿수에서 버림.
 POW(X,Y) or POWER(X,Y)
 	 X의 Y승
 MOD (분자, 분모)
 	 분자를 분모로 나눈 나머지를 구한다.(연산자 %와 같음)
 GREATEST(숫자1,숫자2,숫자3...)
 	 주어진 수 중 제일 큰 수 리턴.
 LEAST(숫자1,숫자2,숫자3...)
 	 주어진 수 중 제일 작은 수 리턴.
 INTERVAL(a,b,c,d.....)
 	 a(숫자)의 위치 반환

1.3 문자관련 함수

ASCII(문자)
 	 문자의 아스키 코드값 리턴.
 CONCAT('문자열1','문자열2','문자열3'...)
 	 문자열들을 이어준다.
 INSERT('문자열','시작위치','길이','새로운문자열')
 	 문자열의 시작위치부터 길이만큼 새로운 문자열로 대치
 REPLACE('문자열','기존문자열','바뀔문자열')
 	 문자열 중 기존문자열을 바뀔 문자열로 바꾼다.
 INSTR('문자열','찾는문자열')
 	 문자열 중 찾는 문자열의 위치값을 출력.
 LEFT('문자열',개수)
 	 문자열 중 왼쪽에서 개수만큼을 추출.
 RIGHT('문자열',개수)
 	 문자열 중 오른쪽에서 개수만큼을 추출.
 MID('문자열',시작위치,개수)
 	 문자열 중 시작위치부터 개수만큼 출력.
 SUBSTRING('문자열',시작위치,개수)
 	 문자열 중 시작위치부터 개수만큼 출력.
 LTRIM('문자열')
 	 문자열 중 왼쪽의 공백을 없앤다.
 RTRIM('문자열')
 	 문자열 중 오른쪽의 공백을 없앤다.
 TRIM('문자열')
 	 양쪽 모두의 공백을 없앤다.
 LCASE('문자열') or LOWER('문자열')
 	 소문자로 바꾼다.
 UCASE('문자열') or UPPER('문자열')
 	 대문자로 바꾼다.
 REVERSE('문자열')
 	 문자열을 반대로 나열한다.

 비어있는 자릿수 0으로 채우기
 LPAD(컬럼,개수,문자) : 왼쪽편에 설정한 문자 추가 
 RPAD(컬럼,개수,문자) : 오른쪽편에 설정한 문자 추가 
select LPAD(컬럼명, 대상 값의 크기를 포함한 갯수 , 삽입할 문자) from 테이블명;

1.4 논리관련 함수

IF(논리식,참일 때 값,거짓일 때 값)
 	 논리식이 참이면 참일 때 값을 출력하고 논리식이 거짓이면 거짓일 때 출력한다.
 IFNULL(값1,값2)
 	 값1이 NULL 이면 값2로 대치하고 그렇지 않으면 값1을 출력

1.5 집계 합수

COUNT(필드명)
 	 NULL 값이 아닌 레코드 수를 구한다.
 SUM(필드명)
 	 필드명의 합계를 구한다.
 AVG(필드명)
 	 각각의 그룹 안에서 필드명의 평균값을 구한다.
 MAX(필드명)
 	 최대값을 구한다.
 MIN(필드명)
 	 최소값을 구한다.

1.6 날짜관련 함수

NOW() or SYSDATE() or CURRENT_TIMESTAMP()
 	 현재 날짜와 시간 출력
 CURDATE() or CURRENT_DATE()
 	 현재 날짜 출력
 CURTIME() or CURRENT_TIME()
 	 현재 시간 출력
 DATE_ADD(날짜,INTERVAL 기준값)
 	 날짜에서 기준값 만큼 더한다.
※ 기준값 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
 DATE_SUB(날짜,INTERVAL 기준값)
 	 날짜에서 기준값 만큼 뺸다.
※ 기준값 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
 YEAR(날짜)
 	 날짜의 연도 출력.
 MONTH(날짜)
 	 날짜의 월 출력.
 MONTHNAME(날짜)
 	 날짜의 월을 영어로 출력.
 DAYNAME(날짜)
 	 날짜의 요일일 영어로 출력.
 DAYOFMONTH(날짜)
 	 날짜의 월별 일자 출력.
 DAYOFWEEK(날짜)
 	 날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6))
 WEEKDAY(날짜)
 	 날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6))
 DAYOFYEAR(날짜)
 	 일년을 기준으로 한 날짜까지의 날 수.
 WEEK(날짜)
 	 일년 중 몇 번쨰 주.
 FROM_DAYS(날 수)
 	 00년 00월 00일부터 날 수 만큼 경과한 날의 날짜 출력.
 TO_DAYS(날짜)
 	 00 년 00 월 00일 부터 날짜까지의 일자 수 출력.
 DATE_FORMAT(날짜,'형식') : 날짜를 형식에 맞게 출력
 	
 타입	 기호	 설명	 기호	 설명
 년도	 %Y	 4자리 연도	 %y	 2자리 년도
 월	
 %M
 %b

 긴 월 이름 (January, ...) 
 짧은 월 이름(Jan, ...)	%m 
%c	 숫자의 월 (01...12) 
 숫자의 월 (1...12)
 요일	%W	 긴 요일 이름 (Sunday, ...)	%a 	 짧은 요일 이름 (Sun, ...) 
 일	%D
%w	 월 내에서 서수 형식의 일(1th, ...) 
 숫자의 요일 (0=Sunday, ...) 	%d 
%e 
%j 	 월 내의 일자 (01...31) 
 월 내의 일자 (1...31) 
 일년 중의 날수 (001...366) 
 시	%l
%h
%I	 12시간제의 시 (1...12) 
 12시간제의 시 (01...12) 
 12시간제의 시 (01...12) 	%k 
%H 	 12시간제의 시 (0...23) 
 12시간제의 시 (00...23) 
 분	%i	 숫자의 분 (00...59) 	 	 
 초	%S	 숫자의 초 (00...59) 	%s 	 숫자의 초 (00...59) 
 시간	%r	 12시간제의 시간 (hh:mm:ss AM 또는 PM) 	%T 	 24시간제의 시간 (hh:mm:ss) 
 주	%U	 일요일을 기준으로 한 주 (0...52) 	%u 	 월요일을 기준으로 한 주 (0...52) 
 기타	%%	 문자 '%' 	%p 	 AM 또는 PM

1.7 기타함수

DATABASE()
 	 현재의 데이터베이스 이름을 출력한다.
 PASSWORD('문자열')
 	 문자열을 암호화한다.
 FORMAT(숫자,소수이하자리수)
 	 숫자를 #,###,###.## 형식으로 출력