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

   Á¶È¸ 15534   Ãßõ 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 1259/5687
2014-05   4991189   Á¤ÀºÁØ1
2015-12   1527178   ¹é¸Þ°¡
2009-10   7266   ±¼´Ù¸®±³
2014-08   15535   ³ªÆÄÀÌ°­½ÂÈÆ
2016-11   12564   À©µµ¿ì10
2021-09   2703   ÇÑÈ¿¼®
2003-09   9167   ±èÇöÈ¿
2006-04   5842   ±èÀ±µ¿
2020-05   2063   °Å¸§¹ç¿¡Ç㡦
2003-09   12045   ÀÌ¿ëÁø
2009-10   6441   ÀÌ¿µ±Ô
2012-12   7803   °¡ºü·Î±¸³ª
2020-05   2617   ³ª³ª³ª³ª³ª
2003-09   8806   Çѵ¿ÈÆ
2012-12   8411   MemoryDB
2006-04   5512   À̹®Èì
2013-01   4685   °¡ºü·Î±¸³ª
2020-05   2757   ÀüÁø
2006-04   6498   ³²¼º·æ
2014-08   4011   Å×µ¹¾ÆÀÌ
2023-05   1530   ¹Ì´ã
2003-10   9815   ±èÀç½Ä