[SQL] 문자와 비교 VARCHAR
SQL문자와 비교 VARCHAR
나는 문자로 VARCHAR를 비교할 때 포스트 그레스가 무엇을 알아 내려고 노력하고있다.
여기 내 테스트 중 하나입니다 :
test=# select 'a'::character varying = 'a '::character;
?column?
----------
t
test=# select 'ab'::character varying = 'ab '::character;
?column?
----------
f
이것은 나에게 벌레처럼 보인다. 사람이 여기에 무슨 일이 일어나고 있는지 알고 있나요? 이 주제에 대한이 좋은 문서가 있습니까?
해결법
-
==============================
1.전혀하지 버그. 문자 스트링 리터럴 'AB'를 주조, 이것은 당신이 무엇을 얻을 수 있습니다 :
전혀하지 버그. 문자 스트링 리터럴 'AB'를 주조, 이것은 당신이 무엇을 얻을 수 있습니다 :
a
문서 별 :
'A': 문자 (1)을 "A":: VARCHAR 또는 'AB':: VARCHAR와 동일한 지 어떤지를 시험 VARCHAR (문자 VARYING)로 강제 될 각각 TRUE 또는 FALSE 수득한다.
기본적으로, 전혀 문자를 사용하는 좋은 이유가 거의 없다. 그것은 그것의 유용성을 오래 살았다 레거시 유형입니다. 그냥 텍스트 또는 VARCHAR를 사용합니다.
from https://stackoverflow.com/questions/17333196/compare-varchar-with-char by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 가입 및 다중 테이블에서 선택 사용하여 차이가 있나요? (0) | 2020.07.18 |
---|---|
[SQL] where 절에서 정수 캐스팅에 MySQL을 자동 문자열? (0) | 2020.07.18 |
[SQL] 쉼표로 구분 된 값을 갖는 열세요 (0) | 2020.07.18 |
[SQL] MERGE 문에 구문 오류 (0) | 2020.07.18 |
[SQL] 하나의 SQL 문을 사용하여 여러 최대 () 값을 선택 (0) | 2020.07.18 |