2016-10-26 3 views
-3

으로 들리 겠지만 이름이있는 테이블이 있습니다.이 이름은 공백으로 끝날 수도 있고 그렇지 않을 수도 있습니다. 예 : 나는 ' dummy '이라는 이름을 가지고 있지만, 심지어는 쿼리 ' dummy'에만 쓰면 ' dummy '이라는 레코드를 찾을 수 있습니다. 어떻게 든 고칠 수 있을까요?SQL의 공백은

SELECT * 
FROM MYTABLE where NAME=' dummy' 

감사

+1

어떤 DMBS를 사용하고 있습니까 (예 : MS SQL Server, Oracle, MySQL, PostgresQL 등)? – JohnLBevan

+1

다른 데이터베이스가 있지만 현재 Firebird에서 테스트 중입니다. 따라서 각 DB마다 동작이 다를 수 있습니다. –

+0

로컬 테스트에는 mysql, mssql, db2, oracle 및 firebird가 있습니다. –

답변

1

당신이 짧은 사람이 제 2 문자열의 길이에 공백으로 채워됩니다 두 문자열을 비교할 때 이것은, SQL은 (오라클 제외) 작동 방법이다.

당신이 정말로 trailings을 고려해야하는 경우

은 당신이 규칙을 따르지 않는 등으로 전환 할 수 있습니다 웁니다 : 물론

SELECT * 
FROM MYTABLE where NAME LIKE ' dummy' 

, 당신은 더 나은로드하는 동안 데이터를 청소합니다.

공간을 선도하는 것보다 더 나쁜 것은 단 하나뿐입니다 (오, 잠깐, 당신도 그걸 가지고 있습니다).

+0

왜 선행 공백이 더 심합니까? –

+0

# 1 : 그 (것)들이 발견하기가 어렵 기 때문에, 그 (것)들의 하나 또는 둘은인가? # 2 : 정확한 번호를 찾아서 찾을 수 있어야합니다. ''더미 '<>'더미 ' – dnoeth