반응형
mysql 함수에서 영숫자 텍스트에서 선행 0을 잘라내는 방법
영숫자 텍스트필드에서 선행 제로를 트리밍하기 위한 mysql 함수는 어떤 것이 있습니까?
값이 "00345"인 필드ABC"는 "345ABC"를 반환해야 합니다.
trim() 함수를 찾고 있습니다.
좋아요, 여기 당신의 예가 있습니다.
SELECT TRIM(LEADING '0' FROM myfield) FROM table
힌트:
값이 순수하게 숫자일 경우 단순 캐스팅을 사용할 수도 있습니다.
SELECT * FROM my_table WHERE accountid = '00322994' * 1
실제로 로 변환된다
SELECT * FROM my_table WHERE accountid = 322994
많은 경우 충분한 솔루션이며 퍼포먼스가 더 효과적이라고 생각합니다.(경고 - 값 유형이 STRING에서 INT/FLOAT로 변경됩니다).
경우에 따라서는 일부 주조 기능을 사용하는 것도 좋은 방법이 될 수 있습니다.
http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html
표의 전체 열을 업데이트하려면 다음을 사용할 수 있습니다.
USE database_name;
UPDATE `table_name` SET `field` = TRIM(LEADING '0' FROM `field`) WHERE `field` LIKE '0%';
난 네가 이걸 하는 게 좋을 것 같아.
SELECT TRIM(LEADING '0' FROM myField)
사이의 간격을 조금 좁히다TRIM ( LEADING
사용하다
SELECT * FROM my_table WHERE TRIM(LEADING '0' FROM accountid ) = '00322994'
심플하게 완벽:
SELECT TRIM(LEADING '0' FROM myfield) FROM table
TRIM을 사용하면 후행, 선행 또는 모든 문자를 제거할 수 있습니다.MySQL에서 TRIM 기능을 사용하는 몇 가지 예:
select trim(myfield) from (select ' test' myfield) t;
>> 'test'
select trim('0' from myfield) from (select '000000123000' myfield) t;
>> '123'
select trim(both '0' from myfield) from (select '000000123000' myfield) t;
>> '123'
select trim(leading '0' from myfield) from (select '000000123000' myfield) t;
>> '123000'
select trim(trailing '0' from myfield) from (select '000000123000' myfield) t;
>> '000000123'
선택한 양의 선두/트레이킹 문자만 제거하려면 LEN 및 INSTR 기능의 조합과 함께 왼쪽/오른쪽 함수를 살펴보십시오.
SELECT TRIM(LEADING '0' FROM *columnName*) FROM *tableName* ;
이것 또한 올바르게 동작합니다.
언급URL : https://stackoverflow.com/questions/96952/how-to-trim-leading-zeros-from-alphanumeric-text-in-mysql-function
반응형
'sourcecode' 카테고리의 다른 글
브라우저 언어 기본 설정을 감지하기 위한 JavaScript (0) | 2023.01.20 |
---|---|
특정 범위의 JavaScript에서 임의의 정수 생성 (0) | 2023.01.20 |
MySql/MariaDB는 Debian 9.1 서버의 기본 데이터 주소를 변경할 수 없습니다. (0) | 2023.01.20 |
Python의 for loop에 continue와 pass in의 차이가 있습니까? (0) | 2023.01.20 |
특성 값을 기준으로 DOM에서 요소 찾기 (0) | 2023.01.20 |