복붙노트

[SQL] 변환 대 T-SQL 캐스트

SQL

변환 대 T-SQL 캐스트

당신이 CONVERT 대 CAST를 사용해야 할 때의 일반적인 지침은 무엇인가? 다른 대 하나를 선택 관련된 성능 문제가 있습니까? 가까이 ANSI-SQL 하나인가?

해결법

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

    1.지정된 SQL Server의 CONVERT는 CAST는 ANSI입니다.

    지정된 SQL Server의 CONVERT는 CAST는 ANSI입니다.

    CONVERT하면 그 외에는 등 날짜를 포맷 할 수 있다는 점에서 더 유연, 그들은 거의 동일합니다. 당신은 확장 된 기능, 사용 CAST 걱정하지 마십시오.

    편집하다:

    아래의 코멘트에 @beruic에 의해 C-F @ 언급 한 바와 같이, 암시 적 변환이 (당신도 CAST 나 CONVERT를 사용 하나입니다) 사용되는 정밀도의 손실 가능성이있다. 은 SQL Server 데이터 형식 변환 차트 : 자세한 내용은 CAST 및 CONVERT 특히이 그래픽에서를 참조하십시오. 이 추가 정보를 사용하여 원래의 조언은 여전히 ​​동일하게 유지됩니다. 가능한 CAST를 사용합니다.

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

    2.변환은 문자열 변환에 날짜에 대한 스타일 매개 변수가 있습니다.

    변환은 문자열 변환에 날짜에 대한 스타일 매개 변수가 있습니다.

    http://msdn.microsoft.com/en-us/library/ms187928.aspx

  3. ==============================

    3.CAST는 표준 SQL이지만, CONVERT 만 사투리 T-SQL입니다. 우리는 날짜의 경우 변환을위한 작은 장점이 있습니다.

    CAST는 표준 SQL이지만, CONVERT 만 사투리 T-SQL입니다. 우리는 날짜의 경우 변환을위한 작은 장점이 있습니다.

    CAST를 사용하면 표현과 대상 유형을 나타냅니다; CONVERT로, 문자열 및 날짜와 시간 값과 같은 일부 변환에 지원되는 변환의 스타일을 표현하는 세 번째 인수가있다. 예를 들어, CONVERT를 들어 (DATE, '2012년 1월 2일', 101)는 미국 표준을 나타내는 스타일 (101)를 사용하여 DATE에 리터럴 문자열로 변환합니다.

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

    4.위의 생산처럼에 의해 answercopied을 확장하기 위해, 나는 실제로 두 기능 사이의 성능 차이를 측정 할 수 있었다.

    위의 생산처럼에 의해 answercopied을 확장하기 위해, 나는 실제로 두 기능 사이의 성능 차이를 측정 할 수 있었다.

    이 질문에 대한 해결책의 변화의 성능을 테스트하고 CAST를 사용하는 경우 표준 편차와 최대 런타임 큰 것을 발견했다.

    * 시간은 밀리 초 단위로 반올림 날짜 시간 유형의 정밀도에 따라 초당 300 가까운 1 /

  5. ==============================

    5.뭔가 아무도 아직 언급 한 것 같다 가독성이다. 데 ...

    뭔가 아무도 아직 언급 한 것 같다 가독성이다. 데 ...

    CONVERT(SomeType,
        SomeReallyLongExpression
        + ThatMayEvenSpan
        + MultipleLines
        )
    

    ...보다 쉽게 ​​이해할 수 있습니다 ...

    CAST(SomeReallyLongExpression
        + ThatMayEvenSpan
        + MultipleLines
        AS SomeType
        )
    
  6. ==============================

    6.CAST는 ANSI 표준을 사용합니다. 휴대의 경우, 이것은 다른 플랫폼에서 작동합니다. CONVERT는 SQL 서버에만 적용됩니다. 하지만 매우 강력한 기능입니다. 당신은 날짜에 대해 서로 다른 스타일을 지정할 수 있습니다

    CAST는 ANSI 표준을 사용합니다. 휴대의 경우, 이것은 다른 플랫폼에서 작동합니다. CONVERT는 SQL 서버에만 적용됩니다. 하지만 매우 강력한 기능입니다. 당신은 날짜에 대해 서로 다른 스타일을 지정할 수 있습니다

  7. from https://stackoverflow.com/questions/707335/t-sql-cast-versus-convert by cc-by-sa and MIT license