이 :MYSQL의 비교 유형이 오류를 발생시키지 않는 이유는 무엇입니까?
SELECT * FROM table WHERE comlumn1 = column2;
결과를 반환합니다.
이 :
SELECT * FROM table WHERE column1 != column2;
는 모두 요청을 충족 열 세포가있다하더라도, 아무 것도 반환하지 않습니다.
column1이 varchar
이고 column2가 int
인 것으로 밝혀졌습니다.
내 질문에 왜 오류가 없었습니까? 왜 한 사람은 결과가 아닌 다른 사람을 돌려 주겠습니까? 유형이 다른 경우 확실하게 항상 동일하지 않습니다.
UPDATE :
값 column1
에서이 1234-34
같은 varchars
이었고 column2
는 1234
같은 ints
했다. 이것은 varchar
1234-34
을 1234
으로 바꾸기 때문에 항상 일치한다는 것을 의미했습니다.
http://stackoverflow.com/questions/4147215/how-int-database-field-gets-compared-to-varchar-type – MusicLovingIndianGirl
@MusicLovingIndianGirl 감사합니다. 그 비슷한,하지만 대답 전에 나는 그런 질문을 찾는 것으로 알려지지 않았을 것입니다. 나는 사람들이이 질문을 추구하지 않을 것이라고 주장 할 것이다. 또한 내 질문은 _why_ 유형이 비교되지 않는 오류가 없다는 것입니다. 나는 그것이 다른 질문이라고 생각한다. – Adzz