2011. 7. 11. 20:46 [Major] SQL & JSP & JavaScript
SQL 함수 정리
1. 기타 함수
CURDATE() | 현재 일자 구하기(오전 12:00:00) |
NOW() | 현재 시간 구하기 |
DATE_FORMAT(CURDATE(), '%Y%m%d') | 현재일자 YYYYMMDD로 구하기 |
NVL (expr1, expr2) | expr1:컬럼명, expr2: 널대신넣을값 |
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(숫자)의 위치 반환 |
3. 문자 관련 함수
ASCII(문자) | 문자의 아스키 코드값 리턴 |
CONCAT('문자열1','문자열2',...) | 문자열들을 이어줌 |
INSERT('문자열','시작위치','길이','바뀔문자열') | 문자열 중 기존문자열을 바뀔문자열로 바꿈 |
INSTR('문자열','찾는문자열') | 문자열 중 찾는 문자열의 위치값 출력 |
LEFT('문자열',개수) | 문자열 중 왼쪽에서 개수만큼을 추출 |
RIGHT('문자열',개수) | 문자열 중 오른쪽에서 개수만큼을 추출 |
MID('문자열',시작위치,개수) | 문자열 중 시작위치부터 개수만큼을 추출 |
SUBSTRING('문자열',시작위치,개수) | 문자열 중 시작위치부터 개수만큼을 추출 |
LTRIM('문자열') | 문자열 중 왼쪽의 공백을 없앰 |
RTRIM('문자열') | 문자열 중 오른쪽의 공백을 없앰 |
LCASE('문자열') or LOWER('문자열') | 소문자로 바꿈 |
UCASE('문자열') or UPPER('문자열') | 대문자로 바꿈 |
REVERSE('문자열') | 문자열을 반대로 나열 |
REPLACE('문자열','기존문자열',바뀔문자열') | 문자열 중 기존문자열을 바뀔문자열로 교체 |
TRIM('문자열') | 양쪽모두의 공백을 없앰 |
4. 논리 관련 함수
IF(논리식,참일때값,거짓일때값) | 논리식이 참이면 참일때값을, 거짓이면 거짓일때값을 출력 |
IFNULL(값1,값2) | 값1이 NULL이면 값2로 대치하고 그렇지 않으면 값1을 출력 |
NULLIF(값1,값2) | 값1과 값2가 같으면 NULL이 출력, 다르면 값1을 출력 |
CASE value WHEN(compare-value) THEN result [WHEN [compare-value] THEN result..] [ELSE result] END; |
value값이 WHEN 다음의 compare-value값과 같으면 THEN 다음의 result 값을 출력 |
5. 집계함수
COUNT(필드명) | NULL 값이 아닌 레코드 수 출력 |
SUM(필드명) | 필드명의 합계 출력 |
AVG(필드명) | 각각의 그룹안에서 필드명의 평균값 출력 |
MAX(필드명) | 최대값 출력 |
MIN(필드명) | 최소값 출력 |
6. 날짜 관련 함수
NOW() or SYSDATE() or CURRENT_TIMESTAMP() | 현재 날짜와 시간 출력 |
CURDATE() or CURRENT_DATE() | 현재 날짜 출력 |
CURTIME() or CURRENT_TIME() | 현재 시간 출력 |
DATE_ADD(날짜,INTERVAL 기준값) | 날짜에서 기준값만큼 더함 |
DATE_SUB(날짜,INTERVAL 기준값) | 날짜에서 기준값만큼 뺌 |
YEAR(날짜) | 날짜의 연도 출력 |
MONTH(날짜) | 날짜의 월 출력 |
MONTHNAME(날짜) | 날짜의 월을 영어로 출력 |
DAYNAME(날짜) | 날짜의 요일을 영어로 출력 |
DAYOFMONTH(날짜) | 날짜의 월별 일자 출력 |
DAYOFWEEK(날짜) | 날짜의 주별 일자 출력(일요일(1),월요일(2)...토요일(7) |
WEEKDAY(날짜) | 날짜의 주별 일자 출력(월요일(0),화요일(1)...일요일(6) |
DAYOFYEAR(날짜) | 일년을 기준으로 한 날짜까지의 날 수 |
WEEK(날짜) | 일년 중 몇 번째 주 |
FROM_DAYS(날수) | 00년00월00일로부터 날 수 만큼 경과한 날의 날짜 출력 |
TO_DAYS(날짜) | 00년00월00이로부터 날짜까지의 일자수 출력 |
DATE_FORMAT(날짜,'형식') | 날짜를 형식에 맞게 출력 |
cf) 오라클 decode함수
SQL에서 조건을 쉽게 다룰 수 있는 함수
- DECODE(비교값, case1, result1, case2, result2, ..., default value)
비교값이 case1이면 result1리턴
비교값이 case2이면 result2리턴
case값 전체와 일치하지 않으면 default value 리턴
기본값이 생략되면 NULL 리턴
출처: 쭌쭈주 (http://blog.naver.com/joonchi3?Redirect=Log&logNo=100123293244)
Surfing Guru(http://blog.naver.com/mochkis?Redirect=Log&logNo=60004893934)
'[Major] SQL & JSP & JavaScript' 카테고리의 다른 글
오라클에서 insert 여러개 처리하기 (0) | 2011.11.14 |
---|---|
자바스크립트 날짜 계산하기 (0) | 2011.10.12 |
토드 단축키 모음 (0) | 2011.08.09 |
update, insert문을 select로 가져와서 활용하기 (0) | 2011.08.03 |
오라클 테이블 복사 쿼리 (0) | 2011.07.11 |