'mysql 함수 레퍼런스/날짜/시간 함수'에 해당되는 글 38건

N에 일 수를 지정하면 YYYY-MM-DD 로 반환합니다.


 SELECT FROM_DAYS(N);

예 #1)

 mysql> SELECT FROM_DAYS(800000);

    ->2190-04-29


 mysql> SELECT FROM_DAYS(735933);

    -> 2014-12-01


블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

시간에 대한 시를 반환하는 HOUR 는 0-23 사이의 값을 반환하지만 실제의 값보다 큰 값을 반환합니다.

 HOUR(time)

ex #1)

 mysql> SELECT HOUR('16:02:21');

       -> 16

 

 mysql> SELECT HOUR('216:02:21');

       -> 216

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

 

interval 을 날짜 또는 날짜시간 표현 datetime_expr에 unit 를 추가한 값을 반환합니다. unit 에는 SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 를 지정할 수 있습니다.


 TIMESTAMP(unit, interval, datetime_expr)


예제 #1)

 mysql> SELECT TIMESTAMPADD(MINUTE, 1, '2003-12-31');

       -> 2003-12-31 00:01:00

 

 mysql> SELECT TIMESTAMPADD(WEEK, 1, '2003-01-02');

       -> 2003-01-09

 

 mysql> SELECT TIMESTAMPADD(WEEK, 2, '2003-01-02');

       -> 2003-01-16

 

 mysql> SELECT TIMESTAMPADD(YEAR, 10, '2003-07-20');

       -> 2013-07-20

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

 

이 함수는 datetime_expr2 - datetime_expr1 의 값을 뺀 값의 unit 를 반환합니다. unit 에는 SECOND, MINUTE, HOUR, DAY, MONTH, YEAR 를 지정할 수 있습니다.


 TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)


예제 #1)

 mysql> SELECT TIMESTAMPDIFF(MINUTE, '2003-02-01', '2003-05-01 12:05:55');

       -> 128885

 

 mysql> SELECT TIMESTAMPDIFF(YEAR, '2003-05-01', '2002-01-01');

       -> -1

 

 mysql> SELECT TIMESTAMPDIFF(MONTH, '2003-02-01', '2002-05-01');

       -> 3

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

 

TIMESTAMP 는 UTC 1970-01-01 00:00:01 에서 2038-01-09 03:14:07 사이의 시간을 초로 저장하고, TIMESTAMP 값은 19문자를 갖는 고정길이로 YYYY-MM-DD HH:MM:SS 형식의 문자열을 반환합니다.

 TIMESTAMP(expr)

 or

 TIMESTAMP(expr1, expr2)


예제 #1)

 mysql> SELECT TIMESTAMP('2003-12-31');

       -> 2003-12-31 00:00:00

 

 mysql> SELECT TIMESTAMP('2003-12-31 12:00:00', '12:00:00');

       -> 2004-01-01 00:00:00

 

 mysql> SELECT TIMESTAMP('2003-12-31 12:00:00', '24:00:00');

       -> 2004-01-01 12:00:00

블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

 SELECT DATEDIFF(expr1, expr2);

예제(ex #2
 mysql> SELECT DATEDIFF('2007-12-31 23:59:59', '2007-12-30');
      -> 1

 mysql> SELECT DATEDIFF('2010-11-30 23:59:59', '2010-12-31');
      -> -31
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

 SELECT DATE_FORMAT(date, format);

예제(ex #1
 mysql> SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y');
      -> Sunday October 2009

 mysql> SELECT DATE_FORMAT('2007-10-04 22:23:00', '%H %i %s');
      -> 22:23:00

 mysql> SELECT DATE_FORMAT('1900-10-04 22:23:00', '%D %y %a %d %m %b %j');
      -> 4th 00 Thu 04 10 Oct 277

 mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H %k %l %r %T %S %w');
      -> 22 22 10 10:23:00 PM 22:23:00 00 6

 mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
      -> 1998 52

 mysql> SELECT DATE_FORMAT('2006-06-00', '%d');
      -> 00
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

YEAR 함수는 범위 1000~9999까지에 대한 년을 반환합니다.

예제(ex #1
 mysql> SELECT YEAR('2011-10-09 07:18:59');
      -> 2011

MONTH 함수는 범위 1~12까지에 대한 월을 반환합니다.

예제(ex #2
 mysql> SELECT MONTH('2011-10-09 07:18:59');
      -> 10

 mysql> SELECT MONTH('2011-00-09 07:18:59');
      -> 0

DATE 함수는 주어진 날짜, 시간의 날짜 부분을 반환합니다.

예제(ex #3
 mysql> SELECT DATE('2011-10-09 07:18:59');
      -> 2011-10-09
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 1970-01-01 00:00:00 UTC 이후 현재 시간(또는 주어진 시간)까지 흐른 초를 정수로 반환합니다. date 날짜는 DATETIME, TIMESTAMP, YYMMDD, YYYYMMDD 가 올 수 있습니다.

 SELECT UNIX_TIMESTAMP([date]);

예재(ex #1)
 mysql> SELECT UNIX_TIMESTAMP();
      -> 1196440210

 mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
      -> 1196440219
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

UTC_DATE
 
이 함수는 YYYY-MM-DD(또는 YYYYMMDD) 형식의 현제 UTC 날짜를 반환합니다. 

예제(ex #1
 mysql> SELECT UTC_DATE();
      -> 2011-11-09

 mysql> SELECT UTC_DATE()+0;
      -> 20111109
 
UTC_TIME
 
HH:MM:SS(또는 HHMMSS.uuuuuu) 형식의 현제 UTC 시간을 반환합니다.

예제(ex #2
 mysql> SELECT UTC_TIME();
      -> 13:14:47

 mysql> SELECT UTC_TIME()+0;
      -> 131447.000000
 
UTC_TIMESTAMP
 
YYYY-MM-DD HH:MM:SS(또는 YYYYMMDDHHMMSS.uuuuuu) 형식의 현제 UTC 날짜, 시간을 반환합니다.

예제(ex #3
 mysql> SELECT UTC_TIMESTAMP();
      -> 2011-11-09 13:15:05

 mysql> SELECT UTC_TIMESTAMP()+0;
      -> 20111109131505.000000
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

str를 escape 한 문자열을 반환합니다. 그 묹자열은 작은 따옴표('), 백슬래쉬(\), ASCII NULL 대상이 됩니다.

예제(ex #1
 mysql> SELECT QUOTE("Query's");
      -> Query\'s
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

date 날짜에 0년 이후 날의 365일에 합한 수를 반환합니다.

 SELECT TO_DAYS(date);

다음은 0년 1월 1일 기준 날 수를 계산합니다.

예제(ex #1
 mysql> SELECT TO_DAYS('1-01-01');
      -> 366

다음은 2011년 1월 1일 기준으로 계산합니다.

예제(ex #2
 mysql> SELECT TO_DAYS('01-01-01');
      -> 730851

다음은 95년 10월 11일 기준으로 날 수를 계산합니다.

예제(ex #3
 mysql> SELECT TO_DAYS(951011);
      -> 728942
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

주어진 날짜의 해당 월의 마지막 날을 반환하고, 주어진 인자가 정확하지 않으면 NULL 를 반환합니다.

 SELECT LAST_DAY(date);

2011년 5월의 마지막날은 31일입니다.

예제(ex #1
 mysql> SELECT LAST_DAY('2011-05-05');
      -> 31

2011년 2월의 마지막날은 28일입니다.

예제(ex #2
 mysql> SELECT LAST_DAY('2011-02-28');
      -> 28

예제(ex #3
 mysql> SELECT LAST_DAY('2011-02-28 23:26:56');
      -> 28

예제(ex #4
 mysql> SELECT LAST_DAY('2011-05-33');
      -> NULL
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 Mysql 5.1.12 부터 사용가능하고, 언어는 lc_time_names 변수의 값으로 조절됩니다. 주어진 date에 해당하는 영문 전체 요일을 반환합니다.

 SELECT MONTHNAME(date);

예제(ex #1
 mysql> SELECT MONTHNAME('2011-10-10');
      -> October
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

0 에서 999999 의 값을 가진 날짜나 시간의 값중에서 마이크로 코를 반환합니다.

 SELECT MICROSECOND(expr);

예제(ex #1
 mysql> SELECT MICROSECOND('2011-10-10 23:45:23.123456');
      -> 123456

 mysql> SELECT MICROSECOND('2011-10-10 23:45:23.000010');
      -> 10
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 날짜, 시간의 값중 분의 값을 반환하며, 0에서 59의 값을 가집니다.

 SELECT MINUTE(time);

예제(ex #1
 mysql> SELECT MINUTE('2011-10-10 11:29:32');
      -> 29
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

MAKEDATE 함수

이 함수는 년과 일의 값을 결합한 년-월-일의 값을 반환합니다. dayofyear 은 0 보다 커야 합니다.

 SELECT MAKEDATE(year, dayofyear);

다음은 2011년 31일의 값을 대입합니다.

예제(ex #1
 mysql> SELECT MAKEDATE(2011, 31);
      -> 2011-01-31

다음은 2011년 33일의 값을 대입하지만, 실제 33일은 없습니다.

예제( ex #2
 mysql> SELECT MAKEDATE(2011, 33);
      -> 2011-02-02

다음은 2011년에 365일의 값을 더합니다.

예제(ex #3
 mysql> SELECT MAKEDATE(2011, 365);
      -> 2011-12-31

예제(ex #4
 mysql> SELECT MAKEDATE(2011, 700);
      -> 2012-11-30

예제(ex #5
 mysql> SELECT MAKEDATE(2011, 0);
      -> NULL
 
MAKETIME 함수

MAKEDATE 함수는 년-월-일의 값을 반환하지만, 이 함수는 시간의 값인 시:분:초 를 결합한 값을 반환합니다.

 SELECT MAKETIME(hour, minute, second);

각 인자는 시, 분, 초 입니다.

예제(ex #6
 mysql> SELECT MAKETIME(23, 24, 54);
      -> 23:24:54
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

TIME 함수

이 함수는 시간(또는 날짜시간)의 값중 시간만을 가져옵니다. 시간의 범위는 -838:59:59 에서 838:59:59 의 범위이며, 타입은 HH:MM:SS 형식입니다.

 TIME(expr)

예제(ex #1
 mysql> SELECT TIME('2011-10-10 01:02:03');
      -> 01:02:03

 mysql> SELECT TIME('2011-10-10 01:02:03.000000123');
      -> 01:02:03.000000123

TIME_FORMAT 함수

이 함수는 DATE_FORMAT 함수처럼 사용할 수 있지만, 포맷 형식은 시간, 분, 초, 밀리초에 대한 포맷식별자만 갖으며, 다른 식별자는 NULL(또는 0) 의 값을 갖습니다.

 SELECT TIME_FORMAT(time, format);

예제(ex #2
 mysql> SELECT TIME_FORMAT('100:00:00', '%H %k %h %i %i');
      -> '100 100 04 04 4'
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 time값으로 시간,분,초로 반환하며, 결과 범위는 TIME 데이터 타입에 제한을 받습니다.

 SELECT SEC_TO_TIME(second)

예제(ex #1
 mysql> SELECT SEC_TO_TIME(2378);
      -> 00:39:38

 mysql> SELECT SEC_TO_TIME(2378)+0;
      -> 3938
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

 SELECT SECOND(TIME)

예제(ex #1
 mysql> SELECT SECOND('21:43:12');
      -> 12
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 인자 DATE, TIME, DATETIME 을 사용하여 결과를 받아 올 수 있습니다.

 SELECT GET_FORMAT(DATE|TIME|DATETIME, EUR|USA|JIS|ISO|INTERNAL);

예제(ex #1
 mysql> SELECT GET_FORMAT(DATE, 'USA');
      -> %d.%m.%y

 mysql> SELECT GET_FORMAT(TIME, 'USA');
      -> %h:%i:%s %p

 mysql> SELECT GET_FORMAT(DATE, 'KR');
      -> NULL

다음은 DATE_FORMAT 함수와 조합한 예제입니다.

예제(ex #2
 mysql> SELECT DATE_FORMAT('2011-10-20', GET_FORMAT(DATE, 'USA'));
      -> 20.10.2011

 mysql> SELECT DATE_FORMAT('2011-10-20', GET_FORMAT(TIME, 'USA'));
      -> 12:00:00 AM

 mysql> SELECT DATE_FORMAT('2011-10-20', GET_FORMAT(DATETIME, 'USA'));
      -> 2011-10-20 00.00.00

다음은 STR_TO_DATE 함수를 활용한 방법입니다.

예제(ex #3
 mysql> SELECT STR_TO_DATE('2011-10-20', GET_FORMAT(DATE, 'USA'));
      -> 20.10.2011

 mysql> SELECT STR_TO_DATE('2011-10-20', GET_FORMAT(TIME, 'USA'));
      -> 12:00:00 AM

 mysql> SELECT STR_TO_DATE('2011-10-20', GET_FORMAT(DATETIME, 'USA'));
      -> 20.10.2011 12:00:00 AM
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 유닉스 타임시간을 YYYY-MM-DD HH:MM:SS(또는 YYYYMMDDHHMMSS.uuuuuu) 로 반환합니다.

 SELECT FROM_UNIXTIME(unix_timestamp);
 SELECT FROM_UNIXTIME(unix_timestamp, format);

예제(ex #1
 mysql> SELECT FROM_UNIXTIME(13191184471);
      -> 2011-10-20 22:47:48

 mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP());
      -> 2011-10-20 22:47:48

 mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP())+0;
      -> 20111020224748.000000

예제(ex #2
 mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), '%Y (%M) %D %h:%i:%s');
      -> 2011 (October) 20th 10:53:01
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

P1과 P2사이 달의 숫자를 반환하는 함수로 P 의 값은 YYMM, YYYYMM 이 올 수 있습니다.

 SELECT PERIOD_DIFF(P1, P2);

예제(ex #1
 mysql> SELECT PERIOD_DIFF(201110, 201009);
      -> 13

 mysql> SELECT PERIOD_DIFF(201110, 201208);
      -> -10
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

기간 P 인 YYMM, YYYYMM 형식의 값에 N 월를 추가한 값을 반환합니다.

 SELECT PERIOD_ADD(P,N);

다음은 2011년 10월에 2월을 더하면 2011년 12월의 값이 됩니다.

예제(ex #1
 mysql> SELECT PERIOD_ADD(201110, 2);
      -> 201112

다음은 2011년 10월에 4월을 더하여 2012년 2월의 값을 받아 옵니다.

예제(ex #2
 mysql> SELECT PERIOD_ADD(201110, 4);
      -> 201202
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

이 함수는 실행을 시작했던 시점의 시간을 나타내는 상수시간을 반환하는 NOW 함수와는 다르게 실행하는 시점의 시간을 반환하는데, 분명 동일 구문내에서 서로 다른 값을 반환받습니다.

 SELECT SYSDATE();

sleep 함수는 php 함수의 sleep과 동일한 기능으로 동작합니다.

예제(ex #1
 mysql> SELECT NOW(), SLEEP(5), NOW();
      -> 2011-10-10 23:35:45, 0, 2011-10-10 23:35:45

 mysql> SELECT SYSDATE(), SLEEP(5), SYSDATE();
      -> 2011-10-10 23:35:56, 0, 2011-10-10 23:36:01
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

CURDATE 함수

 SELECT CURDATE();

예제(ex #1
 mysql> SELECT CURDATE();
      -> 2011-09-27

예제(ex #2
 mysql> SELECT CURDATE()+0;
     -> 20110927

예제(ex #3
 mysql> SELECT CURDATE()+10;
      -> 20110937

CURTIME 함수

 SELECT CURTIME();

예제(ex #4
 mysql> SELECT CURTIME();
      -> 20:13:02

예제(ex #5
 mysql> SELECT CURTIME()+0;
      -> 201302.000000

예제(ex #6
 mysql> SELECT CURTIME()+10;
      -> 201312.000000

NOW 함수

이 함수는 년,월,일,시,분,초를 반환하는 함수입니다.

 SELECT NOW();

예제(ex #7
 mysql> SELECT NOW();
      -> 2011-09-27 10:40:34

예제(ex #8
 mysql> SELECT NOW()+0;
      -> 20110927104034.000000
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

DAYOFWEEK 함수

날짜에 대한 요일(1-일요일, 2-월요일...7-토요일)에 대한 정수를 반환합니다.

 SELECT DAYOFWEEK(date);

예제(ex #1
 mysql> SELECT DAYOFWEEK('2011-10-10');
      -> 2
 
DAYNAME 함수

이 함수는 DAYOFWEEK 와는 반대로 요일의 이름을 반환하는 함수입니다.

 SELECT DAYNAME(date);

예제(ex #2
 mysql> SELECT DAYNAME('2011-10-10');
      -> Monday
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

365일 범위내에 현재 날짜 년의 날수를 반환합니다.

 SELECT DAYOFYEAR(date);

예제(ex #1
 mysql> SELECT DAYOFYEAR('2011-10-10');
      -> 283
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

DAY 함수의 동의어인 DAYOFMONTH 함수는 범위 1~31일 에서 선택 날짜의 날을 반환합니다.

 SELECT DAYOFMONTH(date);

예제(ex #1
 mysql> SELECT DAYOFMONTH('2011-10-10');
      -> 10
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요

분기는 3, 6, 9, 12 월의 기준, 4분기로 하여, 해당 달의 값을 대입하여 해당 분기를 반환합니다.

 SELECT QUARTER(date);

예제(ex #1
 mysql> SELECT QUARTER('2011-09-01');
      -> 3

예제(ex #2
 mysql> SELECT QUARTER('2011-10-05');
      -> 3
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요