클리닝 데이터 SQL–손질의 흰색 공간

빈번한 문제로 데이터를 가져오는 데이터베이스는 원치 않는 백색의 공간에서 시작 또는 끝의 문자열입니다.

앞뒤 흰색 공간에 문제가 발생할 수 있습니다려고 하면 식별 중복을 기록하여 가입 테이블 문자열에 열거나,단순히 쿼리 특정한 값입니다.

다행히 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;

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다