MySQL Äõ¸® Áú¹® Á» µå¸³´Ï´Ù.

Midabo   
   Á¶È¸ 3712   Ãßõ 0    

ALTER TABLE `db`.`table` CHANGE COLUMN `DIV_CD` `DIV_CD` INT NULL DEFAULT NULL ;


위 쿼리를 이용해서 DIV_CD 컬럼을 varchar(10) 에서 integer 로 바꾸려고 합니다.


1~5 사이의 숫자중 하나로 레코딩이 되어있는데, 간혹 들어있는 '-' 때문에 쿼리 에러가 나는데요


'-' 는 의미없는 데이터여서 null 처리해도 됩니다.


에러를 무시하고 컬럼 속성을 변경할 수 있는지요


ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
ȸ¿øK 2016-02
update¸¦ Çؼ­ '-'¸¦ ¾÷¾Ö¹ö¸° ÈÄ¿¡, alter tableÀ» ÇÏ½Ã´Â°Ô ÆíÇÒ °Í °°Àºµ¥¿ä?
¾Æ·¡±¸¹® ½ÇÇàÇؼ­ '-' Á¦°ÅÈÄ¿¡ º¯°æÇغ¸¼¼¿ä.
select replace(div_cd, '-', '') from `db`.`table`;
     
Midabo 2016-02
¹®Á¦´Â ÀáÀçÀûÀÎ ´Ù¸¥ char °ªÀÌ Á¸ÀçÇÑ´Ù´Â °ÍÀä
·¹Äڵ尡 ³Ê¹« ¸¹¾Æ¼­ ÀÏÀÏÀÌ Ã£±â°¡ ¾î·Æ½À´Ï´Ù.

ÀÌ°æ¿ì ¼ýÀÚ°¡ ¾Æ´Ñ°É ¼ýÀÚ·Î º¯°æÇÒ ¼ö ÀÖÀ»±î¿ä?
±èµ¿¼öP 2016-02
ÀÏ´Ü db¹é¾÷ ÇϽðí (¹®Á¦»ý±â¸é ·Ñ¹éÇؾßÇÏ´Ï...)

update `db`.`table` set `DIV_CD`=cast(`DIV_CD` as signed)  where 1=1

³¯¸®½Ã¸é ¼ýÀÚ ¾Æ´Ñ°Ç ÁË´Ù 0À¸·Î ¹Ù²î¾î¼­ µé¾î°©´Ï´Ù. (data°¡ truncate µÈ´Ù°í warningÀÌ ¶ß±ä Çϴµ¥, °Á ¹«½ÃÇÕ´Ï´Ù)
±×´ã¿¡ ÇÊ¿ä¿¡ µû¶ó 0ÀÎ Ç׸ñÀ» null ·Î º¯°æ ÇϽðí... ±×´ÙÀ½¿¡ alter·Î Ä÷³ ŸÀÔ º¯°æÇϼ¼¿ä.
     
Midabo 2016-02
¾öÁöô!
°¨»çÇÕ´Ï´Ù.
¹èº´·Ä 2016-02
Èì.. SQL ¹®Àǵµ ÅëÇÏ´Â 2CPU...
Çϵå¿þ¾î »çÀÌÆ®ÀÎÁÙ ¾Ë¾Ò´õ´Ï... ^&^;;
¹ÚÀÎÈ£ 2016-02
Á¦°¡ ¿©·¯ DB¸¦ »ç¿ëÇÏ´Ùº¸´Ï
MySQL¿¡¼­µµ Á¤±ÔÇ¥Çö½ÄÀ¸·Î replace°¡ µÇ´Â ÁÙ ¾Ë¾Ò´Âµ¥ ±×·¸°Ô ¾ÈµÅ³×¿ä.
REGEXP¸¦ ÀÌ¿ëÇØ ¹®ÀÚ°¡ Æ÷ÇÔµÈ ¿¹¿Ü »Ì¾Æ³»
replace¸¦ ¿©·¯¹ø ¼öÇàÇÏ´Â °ÍÀÌ ÁÁÀ» µí ÇÕ´Ï´Ù.


QnA
Á¦¸ñPage 4044/5665
2015-12   1445144   ¹é¸Þ°¡
2014-05   4906681   Á¤ÀºÁØ1
2018-09   3722   evoker
2015-07   3722   ÁøÀÌ´å
2017-09   3722   ȲÁø¿ì
2019-04   3722   ±è¿µ±â
2016-10   3722   ³ª¶ó¶ß
2018-02   3722   Çϼ¿È£ÇÁ
2020-05   3722   wguardian
2014-04   3722   ÀÌÇö¼®1
2015-06   3722   ±îºñ
2021-04   3722   ¾ß¿ËÀÌÇü
2018-07   3722   Àü¼³¼ÓÀǹ̡¦
2016-05   3722   Áöµµ¸®
2014-03   3722   dusrl00
2019-02   3722   ¼­¹öÇÏ°ÅÆÄ
2017-09   3722   °¡ºü·Î±¸³ª
2016-10   3722   ftp001
2018-01   3722   ´ÐÀÌ¿ä´Ù
2020-06   3722   ¾ØµåÀ¯Àú
2014-06   3722   ³ªÆÄÀÌ°­½ÂÈÆ
2023-02   3721   ÂùÀÌ