MySQL의 변수를 살펴보다, 유용하다 싶은 것을 하나 발견했다.
!!주의!! : 여기서 말하는 date_format, datetime_format는 함수가 아니라 변수가 주제입니다.
함수는 따로 있습니다. ^^;;
아래 글을 읽지 않으실 분께...
결론 : date_format, datetime_format 변수는 사용하실 수 없는 변수입니다..
mysql> show variables like '%date%';
+------------------------------+--------------+
| Variable_name | Value |
+------------------------------+--------------+
| date_format | %Y-%m-%d |
| datetime_format | %Y%m%d%H%i%s |
| log_slave_updates | OFF |
| low_priority_updates | OFF |
| query_cache_wlock_invalidate | OFF |
| sql_log_update | ON |
| sql_low_priority_updates | OFF |
| sql_safe_updates | OFF |
+------------------------------+--------------+
8 rows in set (0.02 sec) |
바로 date_format, datetime_format 이었는데,
직관적으로 살펴봐도 웬지.... 내맘대로 날짜형을 표현해 줄 것 같은 느낌이 들었다...
날짜를 내맘대로 표현할 수 있다는 것은,
일반적으로 사용하는 스트링형태의 날짜 형태 (%Y%m%d%H%i%s : 200812291550) 로
표현해 줄 수 있다는 것이며,
이로 인해
날짜를 스트링으로 변환하여 저장하고자 하는 개발자들의 욕구를 충족시켜줄 수 있음을 의미한다.
그래서, 바로 변수의 출력 방식을 적용하기 시작했다.
mysql> SET GLOBAL datetime_format ='%Y%m%d%H%i%s';
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'datetime_format';
+-----------------+--------------+
| Variable_name | Value |
+-----------------+--------------+
| datetime_format | %Y%m%d%H%i%s |
+-----------------+--------------+
1 row in set (0.02 sec)
mysql> SELECT sysdate() FROM dual;
+---------------------+
| sysdate() |
+---------------------+
| 2008-12-29 15:54:35 |
+---------------------+
1 row in set (0.00 sec) |
그런데.. 웬걸... 안 된다...
왜 안되지... 내가 뭘 잘못했나... 동적 변수가 아닌가...
서버를 내렸다 올려볼까?..... 등등을 생각해보며, 별 희안한 쇼를 다 해본다...
그래도 안 된다.
그래서 리퍼런스를 찾아봤다.
http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_datetime_format
어잌후!!! 이런...
This variables is unused 란다....
맹글기는 했지만 구현은 안 되었다는 거지.....
우띠... 시간 아깝게 ㅠ,.ㅠ
암튼 빛좋은 개살구 하나를 발견했다.
다른 분들은 나처럼 삽질하지 않으시기를 .....