[SQL] 합니까 MS 액세스 지원 "CASE"절 ODBC와 연결하면?
SQL합니까 MS 액세스 지원 "CASE"절 ODBC와 연결하면?
합니까 ODBC 지원 CASE WHEN MS 액세스에 대한 절? 지원하지 않는 다른 데이터베이스는 CASE 절 있습니까? ODBC와 MS 액세스에 연결하지만 예외가있는 동안 나는 다음과 같은 쿼리를 시도했다.
SELECT (CASE WHEN (AGE> 10) THEN 1 ELSE 0 END) 데모 FROM
[마이크로 소프트] [ODBC Access 드라이버] 구문 오류 쿼리 식 (누락 연산자) '(CASE (AGE> 10) THEN 1 ELSE 0 END)'
나는 대부분의 데이터베이스는 ODBC와 동안 연결 비교 표현식 (컴퓨팅) 새로운 '부울 열을'생성을 위해 작동하는 일반적인 방법을 찾기 위해 노력하고 있습니다. 사실, MS 액세스는 SELECT 절에서 비교를 지원하지만, 일부 다른 데이터베이스의 CASE 절 필요합니다. MS 액세스의 경우, SQL이 될 수 있습니다
데모 FROM SELECT AGE> (10)
그러나 다른 사람이해야
SELECT (CASE WHEN (AGE> 10) THEN 1 ELSE 0 END) 데모 FROM
해결법
-
==============================
1.당신은 다음 예에서와 같이 IIF 문을 사용할 수 있습니다 :
당신은 다음 예에서와 같이 IIF 문을 사용할 수 있습니다 :
SELECT IIF(test_expression, value_if_true, value_if_false) AS FIELD_NAME FROM TABLE_NAME
-
==============================
2.쿼리를 작성하는 데 액세스를 사용하고 있기 때문에, 당신은 SQL의 액세스의 버전에 충실해야합니다.
쿼리를 작성하는 데 액세스를 사용하고 있기 때문에, 당신은 SQL의 액세스의 버전에 충실해야합니다.
스위치 () 함수를 사용하여, 여러 가지 다른 반환 값 사이에서 선택합니다. 그래서 번역하고 예를 조금 연장 :
select switch( age > 40, 4, age > 25, 3, age > 20, 2, age > 10, 1, true, 0 ) from demo
'진정한'케이스는 기본입니다. 당신이 그것을 가지고 있지 않으며 다른 경우이 없으면, 함수는 널 (null)을 반환합니다.
사무실 웹 사이트는이에 문서를 가지고 있지만 자신의 예를 들어 구문은 VBA이며, 그것은 또한 잘못이다. 나는이에 그들에게 피드백을 준하지만 당신은 위의 예 다음 잘해야한다.
-
==============================
3.나는 ACCESS SQL에서 비슷한 결과를 생성하기 위해 여러 IIF 문을 사용할 수 있었다.
나는 ACCESS SQL에서 비슷한 결과를 생성하기 위해 여러 IIF 문을 사용할 수 있었다.
IIf([refi type] Like "FHA ST*","F",IIf([refi type]="VA IRRL","V"))
모든 널 유지됩니다 남아.
from https://stackoverflow.com/questions/14920116/does-ms-access-support-case-when-clause-if-connect-with-odbc by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MySQL의 테이블에서 중복을 삭제하는 방법 (0) | 2020.04.16 |
---|---|
[SQL] 포스트 그레스 어레이에 데이터를 선택 (0) | 2020.04.16 |
[SQL] SSMS에서 빠른 쿼리 매우 코드에서 느리지 만 (0) | 2020.04.16 |
[SQL] 쿼리 MSSQL에 의해 그룹에서 조건부 합계 (0) | 2020.04.16 |
[SQL] 왜 사용 '*'뷰 나쁜 구축? (0) | 2020.04.16 |