[SQL] 액세스 SQL에서 병합 대안
SQL액세스 SQL에서 병합 대안
T-SQL에서, 당신은이 작업을 수행 할 수 있습니다 :
SELECT ProductId, COALESCE(Price, 0)
FROM Products
어떻게 액세스 SQL에서 같은 일을해야합니까? 나는 VBA에서의 Nz를 갖는 그 일에 대한 예를 볼 수 있지만 나는 SQL 동등한를 찾고 있어요.
감사.
해결법
-
==============================
1.액세스는 뉴질랜드 기능을 지원하고 쿼리에 사용할 수 있습니다. 참고 Nz가이 T-SQL ISNULL 함수와 동일하다고 생각. 그것은 유착 캔과 같은 매개 변수의 인해 임의 번호를 취할 수 없습니다.
액세스는 뉴질랜드 기능을 지원하고 쿼리에 사용할 수 있습니다. 참고 Nz가이 T-SQL ISNULL 함수와 동일하다고 생각. 그것은 유착 캔과 같은 매개 변수의 인해 임의 번호를 취할 수 없습니다.
-
==============================
2.이 액세스 쿼리의 경우,이 시도 할 수 있습니다 :
이 액세스 쿼리의 경우,이 시도 할 수 있습니다 :
"Price = IIf([Price] Is Null,0,[Price])"
-
==============================
3.외모는 그냥 사용할 수 있습니다 좋아한다 :
외모는 그냥 사용할 수 있습니다 좋아한다 :
SELECT ProductId, Nz(Price, 0) FROM Products
잘 작동하는 것 같다.
-
==============================
4.IIF 사용 (앨런 브라운의 성능 정보를 참조하십시오) 당신에게 최고의 성능을 제공한다 (가격은 NULL, 0, 가격입니다). 그러나 SQL 서버 합체는 ()가 캐스케이드에서 여러 매개 변수를 처리 할 수있는 IIF () Nz를 (이상 큰 장점)가 있습니다. 그래서 나는이 빠른 VBA 동등한를 만들어 :
IIF 사용 (앨런 브라운의 성능 정보를 참조하십시오) 당신에게 최고의 성능을 제공한다 (가격은 NULL, 0, 가격입니다). 그러나 SQL 서버 합체는 ()가 캐스케이드에서 여러 매개 변수를 처리 할 수있는 IIF () Nz를 (이상 큰 장점)가 있습니다. 그래서 나는이 빠른 VBA 동등한를 만들어 :
Function Coalesce(ParamArray varValues()) As Variant 'returns the first non null value, similar to SQL Server Coalesce() function 'Patrick Honorez --- www.idevlop.com Dim i As Long Coalesce = Null For i = LBound(varValues) To UBound(varValues) If Not IsNull(varValues(i)) Then Coalesce = varValues(i) Exit Function End If Next End Function
-
==============================
5.ISNULL () 뉴질랜드 (), 및 데이터 변환 기능을 VBA 기능을 내장하고 전용 버전에 쿼리를 느려지 이전에 2003 년 지금까지 datatyping이가는대로 사용 CCur ()를 사용하면 데이터 형식을 보장 만합니다 당신은 강한 비교를 할 필요하거나 컬럼에 통화로 형식 속성을 설정합니다. 그것은 감속 것들 가장, 그것은 당신의 일상에 또 다른 기능을 추가로하는 IF 문이다
ISNULL () 뉴질랜드 (), 및 데이터 변환 기능을 VBA 기능을 내장하고 전용 버전에 쿼리를 느려지 이전에 2003 년 지금까지 datatyping이가는대로 사용 CCur ()를 사용하면 데이터 형식을 보장 만합니다 당신은 강한 비교를 할 필요하거나 컬럼에 통화로 형식 속성을 설정합니다. 그것은 감속 것들 가장, 그것은 당신의 일상에 또 다른 기능을 추가로하는 IF 문이다
이 용액을 사용하여 다음의 Nz ([가격] CCur (0))
가격입니다 널, 그래서 전반적으로이 아마 가장 빠른 때 실행할 수있는 유일한 시간 CCur는 ()입니다.
포인트는 사용 된 전체 기능의 최소 숫자가 빠르게 쿼리를 실행할 것입니다.
-
==============================
6.COALESCE 또는 NULLIF 기능에 액세스 할 수있는 좋은 마이그레이션 SQL 서버에 사용되는 표준입니다. ISNULLor IIF 또는 CHOOSE는 비표준 기능입니다.
COALESCE 또는 NULLIF 기능에 액세스 할 수있는 좋은 마이그레이션 SQL 서버에 사용되는 표준입니다. ISNULLor IIF 또는 CHOOSE는 비표준 기능입니다.
from https://stackoverflow.com/questions/247858/coalesce-alternative-in-access-sql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 삭제 쿼리는 MySQL의에서 작동하지 (0) | 2020.03.31 |
---|---|
[SQL] NHibernate에 QueryOver가와에게 여러 SQL 쿼리와 DB 안타를 결과로 가져 오기 (0) | 2020.03.30 |
[SQL] 역사적 데이터를 올바르게 EAV 데이터베이스 설계 (0) | 2020.03.30 |
[SQL] 어떻게 SQL 서버에서 "날짜"데이터 유형을 사용할 수 있습니까? (0) | 2020.03.30 |
[SQL] 내가 MySQL 데이터베이스와 올바르게 상호 작용 연결을 내 로그인 양식을 얻을 수 없다 [마감] (0) | 2020.03.30 |