[SQL] SQL 서버 2008 IIF 문을 사용할 것 같지 않습니다
SQLSQL 서버 2008 IIF 문을 사용할 것 같지 않습니다
나는 선택 성명에서 IIF ()를 사용하는 것을 시도하고있다. 필즈 값은 빈 문자열 같으면 대수식 확인합니다. 구문과 같이이다 :
SELECT IIF(field = '','ONe action','Another')
나는 오류 "= 근처의 구문 오류"를 얻고있다
나는 간단한 테스트를 시도했다 :
SELECT IIF(2 > 1, 'yes','no')
나는 "> 근처의 구문 오류"는 무엇입니까
이 IIF가 전혀 작동하지 않는 것을 믿고 저를 선도하고 있습니다.
내가 SQL 서버 2008 R2를 사용하고, 요구 사항이 작업에 IIF ()을 허용하도록 구성 할 수 있음이 뭔가? 내가 놓치고있는 구문에 대한 뭔가인가? 하고 나는 여전히 구문 오류를 얻을 수있는 내 테스트는 간단하다.
어떤 도움을 주시면 감사하겠습니다. 고맙습니다!
해결법
-
==============================
1.언급 한 바와 같이, IIF는 SQL2012 기능입니다.
언급 한 바와 같이, IIF는 SQL2012 기능입니다.
(SQL 2012 어쨌든 어떻게 할 것인지 어느) 경우와 IIF 교체
SELECT CASE field WHEN '' THEN 'ONe action' ELSE 'Another' END
-
==============================
2.IFF는 SQL 서버 2012 그래서 사용 '사례'대신에게 문의 시작합니다.
IFF는 SQL 서버 2012 그래서 사용 '사례'대신에게 문의 시작합니다.
당신은 SQL에서 더 컴팩트 한 폼 서버 2008 (대신 케이스의 기능)을 찾고 있다면 당신은 사용할 수 있습니다 :
isnull((select 'yes' where 2 > 1),'no')
대신에:
SELECT IIF(2 > 1, 'yes','no')
그런 다음 문은 다음과 같습니다
SELECT ISNULL (( '예'를 선택 곳에 2> 1), '아니오')
-
==============================
3.그게 SQL Server 2008 또는 SQL Server 2008 R2의 일을하지 않는 이유 그래서 IIF는 SQL 서버 2012 년에 도입되었다.
그게 SQL Server 2008 또는 SQL Server 2008 R2의 일을하지 않는 이유 그래서 IIF는 SQL 서버 2012 년에 도입되었다.
-
==============================
4.
DECLARE @a int=45 DECLARE @b int=40 SELECT CASE WHEN @A>@B THEN 'True' ELSE 'FALSE' END
대신 IIF의이 솔루션을 사용할 수 있습니다.
from https://stackoverflow.com/questions/11540753/sql-server-2008-iif-statement-does-not-seem-enabled by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 각 행에 null이 아닌 컬럼의 카운트 (0) | 2020.06.28 |
---|---|
[SQL] `쇼는 오라클 SQL에서 table` 동등한를 만들 (0) | 2020.06.28 |
[SQL] BY 쿼리 그룹으로 비율을 계산 (0) | 2020.06.28 |
[SQL] T-SQL : 어떻게 대소 문자를 구분 고유 키를 만들려면 어떻게해야합니까? (0) | 2020.06.28 |
[SQL] SA 비밀번호를 복구 [폐쇄] (0) | 2020.06.28 |