본문 바로가기

웹개발/DataBase

MySQL에서 숫자 0으로 채우고 문자열과 합치기

PHP 프로그래밍을 하다 보면, 숫자를 문자열로 바꾸고 자리수를 맞추기 위해 앞자리를 0으로 채우는 일이 많이 생깁니다.

PHP코드로 예를 들면 아래와 같죠.

echo sprintf("%05d", 205); // prints 00205
echo sprintf("%05d", 1492); // prints 01492


숫자로 되어 있는 데이터를 문자열로 가져오려면 아래와 같은 쿼리를 사용하실 수 있습니다.

SELECT LPAD(zip, 5, '0') as zipcode FROM table;


가져올 때 만이 아니라, 현재 테이블의 데이터를 업데이트 하려면 아래 쿼리를 이용하세요

1. 테이블의 필드 구조를 문자열로 변경합니다.
ALTER TABLE `table` CHANGE `zip` `zip` CHAR(5);
2. 해당 테이블 필드의 데이터 숫자를 5자리로 맞추어 0으로 채워 업데이트 합니다.
UPDATE table SET `zip`=LPAD(`zip`, 5, '0');