"Mysql 함수"의 두 판 사이의 차이
DB CAFE
174번째 줄: | 174번째 줄: | ||
숫자를 #,###,###.## 형식으로 출력 | 숫자를 #,###,###.## 형식으로 출력 | ||
</source> | </source> | ||
+ | [[category:mysql]] |
2020년 9월 16일 (수) 22:52 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 Mysql 함수[편집]
1.1 변환 함수[편집]
CONVERT ( 컬럼명, 변환형 )
- mysql 4.0 이상인 경우 사용가능!!
- 변환형은 다음 주어진 형만 가능하다!
- binary
- char
- date
- datetime
- signed
- time
- 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(숫자,소수이하자리수)
숫자를 #,###,###.## 형식으로 출력