sourcecode

mysql 함수에서 영숫자 텍스트에서 선행 0을 잘라내는 방법

copyscript 2023. 1. 20. 16:15
반응형

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

반응형