mysql µ¥ÀÌŸº£À̽º °ü·Ã...

   Á¶È¸ 15331   Ãßõ 0    

제가 프로젝트를 해본지 좀 되긴했는데요...  지금 하는 프로젝트에 테이블들에서 date 데이터 타입대신에 그냥 varchar를 쓰거든요... 그런 특별한 이유가 있나요?
시대가 바뀐건지... 제가 참여했던 모든 프로젝트들에서 모두 date을 맘껏 썼었는데요...
다른 개발자들은 이게 당연하다는듯이 말을 하길래 좀 헛깔리고 있습니다...

ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
º¸±â¿¡ µû¶ó, Á÷°üÀûÀÎ ºÎºÐÀÌ ÀÖ´Â °Í °°½À´Ï´Ù.

¶ÇÇÑ ¾îµð¿¡¼­ °¡°øÇؼ­ ¾²´À³ÄÀÇ ¹®Á¦ ¾Æ´Ò±î¿ä ?
(DB °¡ ÀÏÇÒ·¡ ? WAS °¡ ÀÏÇÒ·¡ ?)
±¸¹öÀü¿¡¼­ date ºñ±³ ¿¬»êº¸´Ù varchar ºñ±³ ¿¬»êÀÌ »¡¶ú´Ù´Â
¿äÁò¿¡´Â µ¥ÀÌÅ͹«°á¼ºÀ̳ª ¿¬»êÃø¸é¿¡¼­µµ ´Ù½Ã date¸¦ ¾²´Âµ¥...
Á¤ÇöÅ 2014-08
Å« Àǹ̴ ¾ø´Ù°í º¾´Ï´Ù. Àú´Â Ç×»ó int ŸÀÔÀ¸·Î timestamp °ªÀ» ÀÌ¿ëÇÕ´Ï´Ù.
     
ºù°í
Á¶¿µ¹Î 2014-08
±× Ä÷³À» ¾îµð¼­ ¾î¶»°Ô ¾²´À³Ä µû¶ó¼­ date¸¦ ¾²±âµµ Varchar³ª Char ¾²±âµµ ÇÕ´Ï´Ù.
ȸ¿øK 2014-08
°üÁ¡ÀÇ Â÷ÀÌÀÏ »Ó ÀÔ´Ï´Ù. ¹» ¾²´ø Å« Â÷ÀÌ ¾ø½À´Ï´Ù.
Çʵ庰 µ¥ÀÌÅÍ À¯ÇüÀ» ÇØÁֽô°ÍÀÌ ¸Â½À´Ï´Ù..

±×·¯³ª º¸Åë °³¹ßÀ» ÇÏ´Ù º¸´Ï µ¥ÀÌÅÍ À¯Çü±îÁö ½Å°æ½á¼­ Çϱ⿡´Â ¹æ´ëÇÑ ÇÁ·ÎÁ§Æ®°¡ ÈûµéÁö¿ä.

¶ÇÇÑ Çʵ尡 º¯°æÀÌ µÇ´ø°¡ ¹Ð¸®´ø°¡ ÇÏ´Ùº¸¸é ¶Ç µ¥ÀÌÅÍ À¯Çü±îÁö º¯°æÇÏ°í °ü¸®ÇϱⰡ ÈûµéÁö¿ä.

¶Ç À¯Çüº°·Î µ¥ÀÌÅÍ ÀÔ·Â °¹¼ö°¡ Á¤ÇØÀú ÀÖ´Ùº¸´Ï ¿¡·¯°¡ ³ª´ø°¡ ¾Æ´Ï¸é ÀÚ·á°¡ ©¸®´ø°¡ ÇÏÁö¿ä...

ÀÌ·± Àú·± ÀÌÀ¯·Î Varchar ¸¦ ±×³É º¸ÆíÀûÀ¸·Î »ç¿ëÇÏÁö ¾ÊÀ»±î »ý°¢ Çغ¾´Ï´Ù.
±è»óÁø 2014-08
Àå´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù.

´Ù¸¸,ÀåÁ¡À̶õ°Ô....´ëºÎºÐ SQLÀ» ÀÛ¼ºÇÏ´Â °³¹ßÀÚÀÇ ÆíÀǸ¦ À§ÇÑ ÀåÁ¡À̶ó°í º¾´Ï´Ù.

±»ÀÌ DATEÇüÀ» ¾È¾²°í VARCHARÇüÀ» ¾²´Â°Ç ÁÖ·Î ³¯Â¥³ª ½Ã°£µéÀ» °Ë»öÇÒ¶§ Çüº¯È¯ÇÏ´Â°Ô ±ÍÂúÀº°æ¿ì¿¡ ÁÖ·Î °³¹ßÀÚµéÀÌ ¼±È£ÇÏ´õ±º¿ä
¿¹¸¦ µéÀÚ¸é.....¿À´Ã ÀÔ·ÂµÈ µ¥ÀÌÅ͸¦ ãÀ»·Á°í ÇÑ´Ù¸é
¿À¶óŬ ±âÁØÀ¸·Î DATEŸÀÔ Ä÷³À̶ó¸é TO_CHAR(Ä÷³¸í,'YYYYMMDD') = '20140805' ÀÌ·±½ÄÀ¸·Î ½á¾ßµÇ´Âµ¥
ÀÌ°É ±×³É ³¯Â¥ Ä÷³, ½Ã°£ Ä÷³À» ³ª´²¼­ »ç¿ëÇؼ­ ±×³É "³¯Â¥Ä÷³" = '20140805' ÀÌ·±½ÄÀ¸·Î ÈξÀ °£´ÜÇÏ°Ô ¾µ¼öÀִ°ÅÁÒ


³ª¸ÓÁö °æ¿ì¿¡´Â
±âÁ¸ µ¥ÀÌÅÍ°¡ ºÐ¸í DATE ŸÀÔÀÇ Ä÷³Àε¥ À߸øµÈ µ¥ÀÌÅÍ°¡ À־ DATE ŸÀÔÀ¸·Î ¾µ¼ö¾ø´Â °æ¿ìµµ ÀÖ½À´Ï´Ù.
¶Ç´Â °³¹ßÇÒ¶§ »ç¿ëÇÏ´Â ÇÁ·¹ÀÓ¿öÅ©³ª Åø¿¡¼­ ³¯Â¥Å¸ÀÔÀ¸·Î µ¥ÀÌÅ͸¦ 󸮸øÇÏ´Â Á» ±¸¸°(?) Á¦Ç°µéÀÌ ÀÖ±äÇϴ°Š°°´õ±º¿ä



¹®Á¦Á¡Àº À߸øµÈ µ¥ÀÌÅÍ°¡ µé¾î°¡´õ¶óµµ µ¥ÀÌÅÍ°¡ ÀԷµǾî¹ö¸®ÁÒ...
¿¹¸¦ µé¾î¼­ 20140832 ¿Í °°ÀÌ 8¿ù 32ÀÏÀÌ ÀԷµǾî¹ö¸®´Â°ÅÁÒ
ÀÌ·±°æ¿ì , ÇÁ·Î±×·¥ÀÌ À߸øµÈ°æ¿ì ¹®Á¦°¡ µÉ¼öÀÖÁÒ


±×¸®°í, DATE ŸÀÔÀº º¸±â¿¡´Â ±æ°Ô º¸ÀÌÁö¸¸, ½ÇÁ¦ VARCHAR·Î ³â/¿ù/ÀÏ/½Ã/ºÐ/ÃÊ·Î ³ª´©´Â°Íº¸´Ù ÀúÀå°ø°£À» ´õ Àû°Ô »ç¿ëÇÒ°Ì´Ï´Ù.
(¾Æ¸¶µµ¿ä...)

¾îÂîµÇ¾ú´ø, ¹Ýµå½Ã ³¯Â¥Å¸ÀÔÀº DATE ÇüÀ» ¾²´Â°É ±ÇÀåÇÕ´Ï´Ù.
<== ÀÌ°Ô ±âº»ÀÌÁÒ
     
³â/¿ù/ÀÏ/½Ã/ºÐ/ÃÊ ÀÇ °æ¿ì..
vharcharÇüÀº 14

oracleÀº ¼Ò¼öÁ¡ ¹Ì Æ÷ÇԽà 7

ms-sqlÀº datetimeÇüÀÇ °æ¿ì 8
          
°­½ÂÈÆ 2014-08
µ¥ÀÌÅÍ ¾çº¸´Ù´Â ³ªÁß¿¡ ÇÁ·Î±×·¥»ó¿¡¼­ ·»´õÇÒ¶§ ÄÚ½ºÆ®°¡ ´õ Áß¿äÇÏ´Ù°í´Â »ý°¢Çϴµ¥¿ä... °³ÀÎÀûÀ¸·Î datetime°°Àº°æ¿ì ¸¹Àº tool°ú packageµéÀÌ ¹ú½á ÀÖÀ¸´Ï±î ´õ ÁÁÁö ¾ÊÀº°¡ ÇÏ´Â »ý°¢ÀÌ µé°Åµç¿ä... ±»ÀÌ ¸¸µé¾î³í ¹ÙÄû¸¦ »õ·Ó°Ô ¶Ç ¸¸µé¾î¼­ ¾µÇÊ¿ä°¡ ÀÖ³ª ÇÏ´Â »ý°¢ÀÔ´Ï´Ù..

"Don't Reinvent The Wheel"
Á¦°¡ ¾ÆÁÖ ÁÁ¾ÆÇÏ´Â ¸»Áß¿¡ ÇϳªÀÔ´Ï´Ù¸¸...
±â¹ýº¸´Ù ±âº»ÀÌ ¿ì¼±ÀÌÁÒ.
varcharÇü¸¸ Á¸ÀçÇÏ´Â °ÍÀÌ ¾Æ´Ñ ¿©·¯Á¾·ùÀÇ µ¥ÀÌÅÍÇüÀÌ ÀÖ´Ù´Â °ÍÀº ¿ëµµ¿¡ ¸Â°Ô »ç¿ëÇ϶ó´Â ¾ê±â´Ï±î¿ä.

¹Ý´ë·Î...
¹«Á¶°Ç ÇѱÛÀÚ¸¦ ÀúÀåÇؾßÇÒ °÷¿¡ char(1)À» ¾²´Â ´ë½Å intÇüÀ¸·Î ascii³ª unicode°ªÀ» ³ÖÀ¸·Á°í´Â ¾Æ¹«µµ ÇÏÁö ¾Ê´Â °Í ó·³ ¸»ÀÌÁÒ..


QnA
Á¦¸ñPage 126/5593
2014-05   4491759   Á¤ÀºÁØ1
2015-12   1044237   ¹é¸Þ°¡
2016-05   15353   ¹«¾Æ
2016-07   15351   ¼­¿ïI±èµ¿¼ö
2002-05   15348   ½Å¹ü¼®
2016-07   15345   ÆÐŶ½ºÆ®¸²
2002-06   15343   ±è½ÂÀÏ
2011-04   15340   ÀÌÇö¼®1
2002-06   15340   ¹ÚÇÊÈ­
2013-09   15337   À¯ÇÏ
2002-05   15335   ÆíÈ£ÁØ
2010-09   15335   ±è°Ç¿ì
2014-03   15334   binary
2013-07   15334   ÀÌÅ¿í
2002-05   15334   ±è°æ¶ô
2014-04   15333   ±è°Ç¿ì
2013-08   15333   ¼ºÅõºÒÆÐ
2014-08   15332   ³ªÆÄÀÌ°­½ÂÈÆ
2002-05   15332   ±èÇõ
2013-08   15327   ¾Æ¸§´Ù¿î³ëÀ»
2002-05   15326   ±èµ¿·ü
2002-06   15321   ±è°æ¶ô