Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- PostgreSQL
- 입문
- 셋업
- 기초
- 파이어버드
- Visual Basic
- 델파이
- 문자열
- MFC
- vb
- 소니
- SQL
- MySQL
- Firebird
- winsock
- WIN32 SDK
- Delphi
- 파라미터
- 데이터베이스
- 인스톨
- 설치
- 초보
- xml
- 예제
- VB.NET
- 시리얼 통신
- Visual Studio 2005
- SDK
- c#
- dll
Archives
- Today
- Total
프로그래밍 노트
MySQL의 date, time, date_time, time_stamp의 입력형식 본문
데이터베이스의 날짜를 입력할때 간간히 헤깔리는 경우가 있다.
"1998-12-31"으로 입력해야되는지
"1999/12/31"으로 입력해야되는지
"19991231"으로 입력해야되는지가...
◆ MySQL의 date, time, date_time, time_stamp의 입력형식
우선 MySQL에서 아무 데이터베이스나 선택해서 밑에 테이블은 만든다.
아래와 같은 형식으로 데이터를 입력하면 문제없이 데이터가 입력된다.
date_time이나 time_stamp는 두가지 입력방식이있다.
① yyyy-mm-dd hh:mm:ss
② yyyymmddhhmmss
밑의 예제와 같이 입력을하면 에러가 뜬다.
문제없이 입력된 데이터를 보면 아래와 같다.
만들어진 테이블의 정보를 보면 아래와 같다
mysql> desc inputtest;
위의 표를 보면 timestamp는 디폴트 값이 있다.
timestamp의 값은 입력을 하지 않으면 자동으로 현재 일시를 입력해준다.
(그래서 시간 도장이란 이름이였군)
"1998-12-31"으로 입력해야되는지
"1999/12/31"으로 입력해야되는지
"19991231"으로 입력해야되는지가...
◆ MySQL의 date, time, date_time, time_stamp의 입력형식
우선 MySQL에서 아무 데이터베이스나 선택해서 밑에 테이블은 만든다.
CREATE TABLE InputTest (date date, time time, date_time datetime, time_stamp timestamp);
아래와 같은 형식으로 데이터를 입력하면 문제없이 데이터가 입력된다.
INSERT INTO InputTest VALUES
("1998-12-31", "23:59:59", "1998-12-31 23:59:59",19981231235959);
("1998-12-31", "23:59:59", "1998-12-31 23:59:59",19981231235959);
date_time이나 time_stamp는 두가지 입력방식이있다.
① yyyy-mm-dd hh:mm:ss
② yyyymmddhhmmss
INSERT INTO InputTest VALUES
("1998-12-31", "23:59:59", 19981231235959,"1998-12-31 23:59:59");
("1998-12-31", "23:59:59", 19981231235959,"1998-12-31 23:59:59");
밑의 예제와 같이 입력을하면 에러가 뜬다.
INSERT INTO InputTest VALUES
("1999/12/31", "13:59:59", "1998/11/31 21:59:59",19991231235959);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
("1999/12/31", "13:59:59", "1998/11/31 21:59:59",19991231235959);
ERROR 1136 (21S01): Column count doesn't match value count at row 1
문제없이 입력된 데이터를 보면 아래와 같다.
mysql> select * from inputtest;
+------------+----------+---------------------+---------------------+
| date | time | date_time | time_stamp |
+------------+----------+---------------------+---------------------+
| 1998-12-31 | 23:59:59 | 1998-12-31 23:59:59 | 1998-12-31 23:59:59 |
+------------+----------+---------------------+---------------------+
1 row in set (0.00 sec)
+------------+----------+---------------------+---------------------+
| date | time | date_time | time_stamp |
+------------+----------+---------------------+---------------------+
| 1998-12-31 | 23:59:59 | 1998-12-31 23:59:59 | 1998-12-31 23:59:59 |
+------------+----------+---------------------+---------------------+
1 row in set (0.00 sec)
만들어진 테이블의 정보를 보면 아래와 같다
mysql> desc inputtest;
+------------+-----------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------+------+-----+-------------------+-------+
| date | date | YES | | NULL | |
| time | time | YES | | NULL | |
| date_time | datetime | YES | | NULL | |
| time_stamp | timestamp | NO | | CURRENT_TIMESTAMP | |
+------------+-----------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-----------+------+-----+-------------------+-------+
| date | date | YES | | NULL | |
| time | time | YES | | NULL | |
| date_time | datetime | YES | | NULL | |
| time_stamp | timestamp | NO | | CURRENT_TIMESTAMP | |
+------------+-----------+------+-----+-------------------+-------+
위의 표를 보면 timestamp는 디폴트 값이 있다.
timestamp의 값은 입력을 하지 않으면 자동으로 현재 일시를 입력해준다.
(그래서 시간 도장이란 이름이였군)
Comments