[MySQL] Ansi 표준과 다른 MySQL 쿼리문
페이지 정보
작성자 서방님 댓글 0건 조회 174회 작성일 12-09-26 15:29본문
Ansi 표준과 다른 MySQL 쿼리문
1. IF
IF문을 쿼리에서 직접 사용할 수 있습니다.
IF(USE_FL ='Y','Active','Suspended') AS USE_FL
2. DATE_FORMAT
DATE_FORMAT(REG_DT, '%Y-%m-%d') AS REG_DT
-- 2012-08-09 형식으로 출력됩니다.
아래는 자세한 DATE_FORMAT 포맷입니다.
%M Month name (January..December)
%W Weekday name (Sunday..Saturday)
%D Day of the month with English suffix (1st, 2nd, 3rd, etc.)
%Y Year, numeric, 4 digits
%y Year, numeric, 2 digits
%X Year for the week where Sunday is the first day of the week, numeric, 4 digits, used with \'%V\'
%x Year for the week, where Monday is the first day of the week, numeric, 4 digits, used with \'%v\'
%a Abbreviated weekday name (Sun..Sat)
%d Day of the month, numeric (00..31)
%e Day of the month, numeric (0..31)
%m Month, numeric (01..12)
%c Month, numeric (1..12)
%b Abbreviated month name (Jan..Dec)
%j Day of year (001..366)
%H Hour (00..23)
%k Hour (0..23)
%h Hour (01..12)
%I Hour (01..12)
%l Hour (1..12)
%i Minutes, numeric (00..59)
%r Time, 12-hour (hh:mm:ss [AP]M)
%T Time, 24-hour (hh:mm:ss)
%S Seconds (00..59)
%s Seconds (00..59)
%p AM or PM
%w Day of the week (0=Sunday..6=Saturday)
%U Week (0..53), where Sunday is the first day of the week
%u Week (0..53), where Monday is the first day of the week
%V Week (1..53), where Sunday is the first day of the week. Used with \'%X\'
%v Week (1..53), where Monday is the first day of the week. Used with \'%x\'
%% A literal `%\'.
3. INSTR
MS-SQL의 CHARINDEX와 비슷한 함수입니다.(비교필드와 비교문자열의 위치가 반대입니다.)
문자열에서 지정한 문자의 시작 위치 값을 반환합니다.
0보다 크다면 찾는 문자열이 있다는 뜻입니다. (C#과 다르게 시작 위치는 1부터 매겨집니다.)
ex) MySQL : SELECT INSTR('가나다라마바사아자차카타파하', '다라') -- 3
MS-SQL : SELECT CHARINDEX('다라 ', '가나다라마바사아자차카타파하') -- 3
INSTR(UPPER(NAME), UPPER(#keyword#)) > 0
4. LIMIT
출력되는 레코드의 개수를 제한할 때 사용됩니다.게시판 같은 페이징을 구현할 때 사용하면 편리합니다.
데이터가 많을 경우 속도저하가 발생합니다.
주의할 점은 시작번호가 0부터 시작됩니다.
LIMIT 시작번호, 가져올 갯수
LIMIT 가져올 갯수 (시작번호는 생략이 가능합니다. 생략했을 경우에는 맨 위부터 지정한 갯수만큼 가져옵니다.)
LIMIT #start_rnum# , #lines_per_page#
10건씩 보여주는 페이징을 예로 들면 1페이지 : LIMIT 0, 10
2페이지 : 10, 10
3페이지 : 20, 10 이런식이겠죠.
5. IFNULL
MS-SQL의 ISNULL과 같은 함수입니다.
IFNULL(필드명, "대체할 값")
IFNULL(TYPE_CD,'')
MAX(IFNULL(DISP_ORDER,0))+1
댓글목록
등록된 댓글이 없습니다.