복붙노트

[SQL] 액세스 SQL에서 병합 대안

SQL

액세스 SQL에서 병합 대안

T-SQL에서, 당신은이 작업을 수행 할 수 있습니다 :

SELECT ProductId, COALESCE(Price, 0)
FROM Products

어떻게 액세스 SQL에서 같은 일을해야합니까? 나는 VBA에서의 Nz를 갖는 그 일에 대한 예를 볼 수 있지만 나는 SQL 동등한를 찾고 있어요.

감사.

해결법

  1. ==============================

    1.액세스는 뉴질랜드 기능을 지원하고 쿼리에 사용할 수 있습니다. 참고 Nz가이 T-SQL ISNULL 함수와 동일하다고 생각. 그것은 유착 캔과 같은 매개 변수의 인해 임의 번호를 취할 수 없습니다.

    액세스는 뉴질랜드 기능을 지원하고 쿼리에 사용할 수 있습니다. 참고 Nz가이 T-SQL ISNULL 함수와 동일하다고 생각. 그것은 유착 캔과 같은 매개 변수의 인해 임의 번호를 취할 수 없습니다.

  2. ==============================

    2.이 액세스 쿼리의 경우,이 시도 할 수 있습니다 :

    이 액세스 쿼리의 경우,이 시도 할 수 있습니다 :

    "Price = IIf([Price] Is Null,0,[Price])"
    
  3. ==============================

    3.외모는 그냥 사용할 수 있습니다 좋아한다 :

    외모는 그냥 사용할 수 있습니다 좋아한다 :

    SELECT ProductId, Nz(Price, 0)
    FROM Products
    

    잘 작동하는 것 같다.

  4. ==============================

    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. ==============================

    5.ISNULL () 뉴질랜드 (), 및 데이터 변환 기능을 VBA 기능을 내장하고 전용 버전에 쿼리를 느려지 이전에 2003 년 지금까지 datatyping이가는대로 사용 CCur ()를 사용하면 데이터 형식을 보장 만합니다 당신은 강한 비교를 할 필요하거나 컬럼에 통화로 형식 속성을 설정합니다. 그것은 감속 것들 가장, 그것은 당신의 일상에 또 다른 기능을 추가로하는 IF 문이다

    ISNULL () 뉴질랜드 (), 및 데이터 변환 기능을 VBA 기능을 내장하고 전용 버전에 쿼리를 느려지 이전에 2003 년 지금까지 datatyping이가는대로 사용 CCur ()를 사용하면 데이터 형식을 보장 만합니다 당신은 강한 비교를 할 필요하거나 컬럼에 통화로 형식 속성을 설정합니다. 그것은 감속 것들 가장, 그것은 당신의 일상에 또 다른 기능을 추가로하는 IF 문이다

    이 용액을 사용하여 다음의 Nz ([가격] CCur (0))

    가격입니다 널, 그래서 전반적으로이 아마 가장 빠른 때 실행할 수있는 유일한 시간 CCur는 ()입니다.

    포인트는 사용 된 전체 기능의 최소 숫자가 빠르게 쿼리를 실행할 것입니다.

  6. ==============================

    6.COALESCE 또는 NULLIF 기능에 액세스 할 수있는 좋은 마이그레이션 SQL 서버에 사용되는 표준입니다. ISNULLor IIF 또는 CHOOSE는 비표준 기능입니다.

    COALESCE 또는 NULLIF 기능에 액세스 할 수있는 좋은 마이그레이션 SQL 서버에 사용되는 표준입니다. ISNULLor IIF 또는 CHOOSE는 비표준 기능입니다.

  7. from https://stackoverflow.com/questions/247858/coalesce-alternative-in-access-sql by cc-by-sa and MIT license