2012-12-03 5 views
1

어떻게이 SQL 문이 작동하지 않습니까? 내가 오류가 같이 나오는이 SQL ODBC 쿼리가 작동하지 않는 이유는 무엇입니까?

Select 'event2' 

을하려고하면

:

발견되지

[하니웰] [ODBC 드라이버] 예상 어휘 요소 :

Select 'event2' as 'EVENTCOLN' 

오류는 다음과 같이 나온다 :

[Honeywell] [ODBC 드라이버] 예기치 않은 SQL 문의

많은 변형을 시도했지만 모두 작동하지 않습니다.

난 그냥 데이터베이스가 값 'event2'참고

을 뱉어 싶어, 나는 'Experion PKS ODBC 드라이버'

감사라는 ODBC 드라이버에 연결하고있어

답변

1

시도
Select 'event2' as EVENTCOLN 

또는

Select 'event2' as "EVENTCOLN" 

문자열 리터럴을 열 이름으로 사용하고 있습니다. 당신의 ODBC 드라이버가 테이블 이름없이 값을 선택 지원하지 않는 경우

, 임의의 테이블을 선택하고 TOP 1 선택 :

SELECT TOP 1 'event2' AS EVENTCOLN FROM MyTable 
+0

감사합니다.하지만 어느 것도 작동하지 않습니다. 그것은 말합니다 [하니웰] [ODBC 드라이버] 예기치 않은 SQL 문 – user1034912

+0

그 드라이버는 테이블 이름없이 값을 선택하는 지원하지 않을 수 있습니다. 소스로 사용할 임의 테이블을 선택해야 할 수도 있습니다. 나는 내 대답을 고칠 것이다. –

+0

감사합니다. top을 지정하지 않으면 작동합니다. SELECT 'event2'와 같이 event2를 그대로 두십시오. 상단에 특별한 형식이 있습니까? – user1034912

1

내가 특별히 해당 드라이버 모른다, 그러나

Select 'event2' 

은 완전한 SQL 문이 아니므로 예기치 않은 종료입니다. 난 그냥 'event2'의 값을 얻을 원한다면, 내가 좋아하는 뭔가를 시도 할 것이다 : 나는 당신이 'event2'에 있던 작은 따옴표 모르는

SELECT event2 FROM <tablename>; 

를 - 그것은 매우 독특한 드라이버가 아니라면, 당신 열 이름에 따옴표를 사용하지 마십시오. 또한 "event2"열이있는 테이블을 지정하기 위해 "FROM"을 추가했습니다.

일부 드라이버/데이터베이스는 세미콜론을 추가했으나 다른 드라이버는 원하지 않습니다. 두 가지 방법을 시도해보십시오.

+0

고마워,하지만 난 그저 'Event2'라는 단어를 뱉어 내고 싶지 않다. – user1034912

관련 문제