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

   Á¶È¸ 15516   Ãßõ 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 130/5683
2015-12   1491799   ¹é¸Þ°¡
2014-05   4955293   Á¤ÀºÁØ1
2015-10   15568   ȲȥÀ»ÇâÇØ
2010-01   15564   ±è°Ç¿ì
2002-06   15561   ±èÁ¤ÈÆ
2015-11   15561   °Ü¿ï³ª¹«
2014-08   15561   ¹Ì¼ö¸Ç
2002-06   15557   ±èÁ¾Áø
2002-07   15556   ±èµ¿¹ü
2002-06   15556   À¯¼º¸ð
2013-07   15555   ÀÌÅ¿í
2002-06   15554   °­´ë±Ô
2013-08   15548   ȸ¿øK
2011-04   15547   ÀÌÇö¼®1
2002-06   15546   ÀÌÁ¤±Ù
2013-11   15543   user
2002-06   15543   ¹ÚÇÊÈ­
2014-08   15542   Sunrise
2016-06   15541   º°À̹ÀÜ
2002-06   15540   ±è½ÂÀÏ
2016-06   15540   NeOpLE
2002-06   15537   äÀ±¼º