빈번한 문제로 데이터를 가져오는 데이터베이스는 원치 않는 백색의 공간에서 시작 또는 끝의 문자열입니다.
앞뒤 흰색 공간에 문제가 발생할 수 있습니다려고 하면 식별 중복을 기록하여 가입 테이블 문자열에 열거나,단순히 쿼리 특정한 값입니다.
다행히 SQL TRIM 기능은 성가신 선행 및 후행 공백을 문자열에서 제거합니다.
공백은 타이포그래피에서 가로 또는 세로 공간을 나타내는 문자열의 문자입니다., 즉:탭,줄 바꿈,캐리지 리턴 및 예,공백.
공백은’A’,’B’및’C’가 값을 갖는 것처럼 문자 값을 갖습니다. 우리는 인쇄 할 때 항상 공백을 볼 수는 없습니다.
그리고 다른 문자와 마찬가지로 공백은 ASCII 테이블에 십진수 값을 갖습니다. 이 작은 사실은 SQL 명령을 사용하여 공백 문자를 식별하려고 할 때 매우 편리합니다.,
The TRIM Function
Safari Books online has a nice snippet on the TRIM command:
ANSI SQL Standard Syntax
TRIM( FROM ]
target_string
)
The default for the first parameter, LEADING | TRAILING | BOTH
, is ‘BOTH’.
The default for is a space char(32)
.,즉,target_string
(유일한 필수 매개 변수)만 지정하면 모든 선행 및 후행 공백이 다듬어집니다.
예
받아들이 기본값은 트림 모두를 선도하고 뒤에 공백 문자
SELECT ' Hello World ',
TRIM(' Hello World ');+-----------------+-------------------------+
| Hello World | TRIM(' Hello World ') |
+-----------------+-------------------------+
| Hello World | Hello World |
+-----------------+-------------------------+
참고:트리밍 기능에 대한 SQL 서버 버전 2016 와 낮은 있지 않는 인수를 지정하여 문자(들)트림에서 문자열입니다. 선행/후행 공백 문자 만 트리밍합니다.
예제
선행 별표(*)문자 만 제거하십시오., 주의 사항,하나의’*’만 매개 변수로 지정 되더라도 TRIM 은 몇 개가 있는지에 관계없이 모든 선행 별표(*)를 제거합니다.
SELECT '*** Hello World **',
TRIM(LEADING '*' FROM '*** Hello World **');+--------------------+---------------------------------------------+
| *** Hello World ** | TRIM(LEADING '*' FROM '*** Hello World **') |
+--------------------+---------------------------------------------+
| *** Hello World ** | Hello World ** |
+--------------------+---------------------------------------------+
예를 들어 백색의 공간은 시나리오
상상할을 변환하는 장난감 상점 재고 레코드 스프레드시트에서는 RDBMS 데이터베이스입니다. 스프레드 시트에서 데이터베이스 테이블을 성공적으로 로드합니다.,
원본 스프레드 시트와 새 데이터베이스 테이블을 비교하여로드를 확인합니다. 결과는 정말 좋아 보인다.
지금 당신은 당신을 찾으려면 얼마나 많은 장난감 오리 적이 있었는지를 받은,그래서 당신은 쿼리 데이터베이스
SELECT toy_name, COUNT(*)
FROM toys
WHERE toy_name = 'duck'
GROUP BY toy_name;Empty set (0.00 sec)
다,무엇인가?! 그건 옳지 않아,기록이 반환되지 않습니까? 데이터베이스의 TOYS 테이블을 바로보고 있으면 toy_name=’duck’이있는 11 개의 레코드를 볼 수 있습니다.,
그래서 당신은 실행이 편리한 작은 SQL 문을 만들어 공백을 표시:
에 대한 자세한 내용은 대체 기능 여기를 클릭하십시오.
아 하! 지금 당신은 당신이 볼 수있는 모든 toy_names 있는 선도적인 공간,그들 중 일부는 다른 후행 공백 문자입니다.,
실행할 시리즈의 UPDATE 문을 사용하여 트리밍 기능에 대한 선행 및 후행 공백 문자:탭char(9)
라인-피드char(10)
,운송 반char(13)
,그리고 공간char(32)
.,
실행을 선택하려면 다시 만드는 공백을 볼 수 있고,휴,그들은 모두 사라:
이제할 수 있습니다 오리와 자신감:
SELECT toy_name, COUNT(*)
FROM toys
WHERE toy_name = 'duck'
GROUP BY toy_name;