참조 용으로 SQL Azure를 사용하고 있습니다.SQL 서버에서 예약어 "IN"극복
번호판과 그 상태를 기반으로 테이블에서 데이터를 선택하려고 할 때 상태가 "IN"이면 결과가 반환되지 않습니다. "IN"이라는 단어가 SQL 서버에 예약되어 있음을 알았습니다. 그러나, 나는 그것을 쿼리에서 따옴표 안에 포함하고있다. 저는 현재 테스트 단계에 있으며 테이블에 287YGB와 상태 IN이있는 레코드가 하나뿐입니다.
다음과 같이 쿼리를 작성하면 아무 것도 얻을 수 없습니다.
SELECT MakeModel, CitizenID, VehicleID FROM tblVehicles WHERE tblVehicles.Lisence = '287YGB' AND tblVehicles.PlateState = 'IN'
이렇게하면 내 결과를 얻을 수 있습니다. 그러나 이것으로는 충분하지 않습니다.
SELECT MakeModel, CitizenID, VehicleID FROM tblVehicles WHERE tblVehicles.Lisence = '287YGB'
마지막으로,이 방법으로 쿼리를 작성하면 테이블의 유일한 행을 얻습니다.
SELECT MakeModel, CitizenID, VehicleID FROM tblVehicles
이러한 테스트에서 매개 변수가 문제의 원인이되는 마지막 부분임을 알 수 있습니다. 나는 그것이 "IN"이라는 단어가 예약되어 있기 때문이라고 가정하고 있습니다. 이 문제를 해결할 방법이 있습니까?
데이터에 선행 공백이 없거나 눈에 보이지 않는 문자가 있습니까? ''IN ''을 찾는데 아무런 문제가 없습니다. –
따옴표 안에 들어 있다면 -이 문제는 없어야합니다 ... – PinnyM
'IN'은 예약어입니다. ''IN''은 문자열입니다. 값 주변에 틱이 있으면 예약 된 키워드가 아닙니다. –