* split 사용시 특수문자를 사용하면 에러가 발생 
String testStr = "1^2^3^4"; 
String[] testList = testStr.split("^");   ---> 에러
* 특수문자 앞에 \\ 을 붙이면 에러가 발생하지 않음
String[] testList = testStr.split("\\^");   --->["1", "2", "3", "4"]
MySql - IFNULL, ISNULL, IF 사용하기
*** IFNULL ***
IFNULL (VAL1, VAL2)
VAL1의 값이 null이 아니면 VAL1, null 이면 VAL2를 리턴한다.
ex)
SELECT IFNULL('VAL', 'N'); => VAL
SELECT IFNULL(NULL, 'N'); => N
*** ISNULL ***
ISNULL (VAL1)
VAL1의 값이 null이면 1(true), null이 아니면 0(false)를 리턴한다.
ex)
SELECT ISNULL('A'); => 0 (false)
SELECT ISNULL(NULL); => 1 (true)
*** IF ***
IF (VAL1, VAL2, VAL3)
VAL1의 값이 true이면 VAL2, false이면 VAL3를 리턴한다.
ex)
SELECT IF(1, 'Y', 'N'); => Y
SELECT IF(0, 'Y', 'N'); => N
SELECT IF(TRUE, 'Y', 'N'); => Y
SELECT IF(FALSE, 'Y', 'N'); => N
IFNULL (VAL1, VAL2)
VAL1의 값이 null이 아니면 VAL1, null 이면 VAL2를 리턴한다.
ex)
SELECT IFNULL('VAL', 'N'); => VAL
SELECT IFNULL(NULL, 'N'); => N
*** ISNULL ***
ISNULL (VAL1)
VAL1의 값이 null이면 1(true), null이 아니면 0(false)를 리턴한다.
ex)
SELECT ISNULL('A'); => 0 (false)
SELECT ISNULL(NULL); => 1 (true)
*** IF ***
IF (VAL1, VAL2, VAL3)
VAL1의 값이 true이면 VAL2, false이면 VAL3를 리턴한다.
ex)
SELECT IF(1, 'Y', 'N'); => Y
SELECT IF(0, 'Y', 'N'); => N
SELECT IF(TRUE, 'Y', 'N'); => Y
SELECT IF(FALSE, 'Y', 'N'); => N
MySql - 요일 구하기
*** DAYOFWEEK ***
요일을 숫자로 반환한다.
일요일 1 ~ 토요일 7
ex) SELECT DAYOFWEEK(NOW());
=> 6
*** WEEKDAY ***
요일을 숫자로 반환한다.
월요일 0 ~ 일요일 6
ex) SELECT WEEKDAY(NOW());
=> 4
요일을 숫자로 반환한다.
일요일 1 ~ 토요일 7
ex) SELECT DAYOFWEEK(NOW());
=> 6
*** WEEKDAY ***
요일을 숫자로 반환한다.
월요일 0 ~ 일요일 6
ex) SELECT WEEKDAY(NOW());
=> 4
MySql - date_add 사용하기
*** 설명 ***
date형식에 지정된 시간을 추가한다.
*** 사용예 ***
Syntax : DATE_ADD(date, INTERVAL expr type)
SELECT NOW(), DATE_ADD(NOW(),INTERVAL 1 MONTH)
=> 2016-04-12 08:51:03, 2016-05-12 08:51:03
SELECT NOW(), DATE_ADD(NOW(),INTERVAL -1 MONTH)
=> 2016-04-12 08:51:03, 2016-03-12 08:51:03
*** type 값 ***
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
date형식에 지정된 시간을 추가한다.
*** 사용예 ***
Syntax : DATE_ADD(date, INTERVAL expr type)
SELECT NOW(), DATE_ADD(NOW(),INTERVAL 1 MONTH)
=> 2016-04-12 08:51:03, 2016-05-12 08:51:03
SELECT NOW(), DATE_ADD(NOW(),INTERVAL -1 MONTH)
=> 2016-04-12 08:51:03, 2016-03-12 08:51:03
*** type 값 ***
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
MySql - 날짜를 문자열로 변경하기(DATE_FORMAT)
*** 설명 ***
DATE_FORMAT 함수 사용
날짜형식의 값을 문자열 형식의 값으로 변경
STR_TO_DATE 함수의 반대 기능
*** 사용예 ***
SELECT DATE_FORMAT(NOW(),'%Y%m%d%H%i%s');
-> 20160401083246
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
-> 2016-04-01 08:35:45
SELECT DATE_FORMAT(NOW(),'%Y/%m/%d %T');
->2016/04/01 08:36:08
*** 사용되는 표현식 ***
DATE_FORMAT 함수 사용
날짜형식의 값을 문자열 형식의 값으로 변경
STR_TO_DATE 함수의 반대 기능
*** 사용예 ***
SELECT DATE_FORMAT(NOW(),'%Y%m%d%H%i%s');
-> 20160401083246
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s');
-> 2016-04-01 08:35:45
SELECT DATE_FORMAT(NOW(),'%Y/%m/%d %T');
->2016/04/01 08:36:08
*** 사용되는 표현식 ***
| 표현식 | 설명 | 
| %M | 월(Janeary, December, ...) | 
| %W | 요일(Sunday, Monday, ...) | 
| %D | 월(1st, 2dn, 3rd, ...) | 
| %Y | 연도(1987, 2000, 2013) | 
| %y | 연도(87, 00, 13) | 
| %X | 연도(1987, 2000) %V와 같이 쓰임. | 
| %x | 연도(1987, 2000) %v와 같이 쓰임. | 
| %a | 요일(Sun, Tue, ...) | 
| %d | 일(00, 01, 02, ...) | 
| %e | 일(0, 1, 2, ...) | 
| %c | 월(1, 2, ..., 12) | 
| %b | 월(Jan, Dec, ...) | 
| %j | 몇번째 일(120, 365) | 
| %H | 시(00, 01, 02, 13, 24) | 
| %h | 시(01, 02, 12) | 
| %i | 분(00, 01, 30) | 
| %r | "hh:mm:ss AM|PM" | 
| %T | "hh:mm:ss" | 
| %S | 초 | 
| %s | 초 | 
| %p | AM, PM | 
| %w | 요일(0, 1, 2) 0:일요일 | 
| %U | 주(시작:일요일) | 
| %u | 주(시작:월요일) | 
| %V | 주(시작:일요일) | 
| %v | 주(시작:월요일) | 
피드 구독하기:
덧글 (Atom)
