Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

슬래시 뒤에 숫자로 문자열 왼쪽의 0을 채우는 MySQL 숫자 문자열 형식화

<시간/>

먼저 테이블을 생성하겠습니다 -

mysql> Create table DemoTable1369 -> ( -> BatchId varchar(20) -> );쿼리 OK, 영향을 받는 행 0개(0.46초)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 여기에 슬래시로 구분된 숫자를 삽입했습니다 -

mysql> insert into DemoTable1369 values('19/5');Query OK, 1개의 row가 영향을 받았습니다(0.13초)mysql> insert into DemoTable1369 values('19/78');Query OK, 1개의 row가 영향을 받았습니다(0.12초). )mysql> DemoTable1369 값에 삽입('19/567');쿼리 OK, 1행 영향(0.15초)mysql> DemoTable1369 값에 삽입('19/1234');쿼리 OK, 1행 영향(0.11초) 

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> DemoTable1369에서 * 선택;

이것은 다음과 같은 출력을 생성합니다 -

+---------+| 배치 ID |+---------+| 19/5 || 19/78 || 19/567 || 19/1234 |+---------+4행>

다음은 숫자 문자열 형식에 대한 쿼리입니다. 필드를 채우기 위해 슬래시 뒤에 0을 설정했습니다. 총 필드 너비는 가장 높은 필드 값(여기서 숫자 "1234"의 경우 4 -

)에 의해 결정됩니다.
mysql> select -> concat(left(BatchId,3), lpad(substring(BatchId, 4), 4, '0')) -> DemoTable1369;

이것은 다음과 같은 출력을 생성합니다 -

+---------------------------------------------- ----------------+| concat(left(BatchId,3), lpad(substring(BatchId, 4), 4, '0')) |+----------------------- ---------------------------------------+| 0005년 19월 || 19/0078 || 19/0567 || 19/1234 |+--------------------------------------------------------- -----------------+4행 세트(0.00초)