[SQL] 변환 대 T-SQL 캐스트
SQL변환 대 T-SQL 캐스트
당신이 CONVERT 대 CAST를 사용해야 할 때의 일반적인 지침은 무엇인가? 다른 대 하나를 선택 관련된 성능 문제가 있습니까? 가까이 ANSI-SQL 하나인가?
해결법
-
==============================
1.지정된 SQL Server의 CONVERT는 CAST는 ANSI입니다.
지정된 SQL Server의 CONVERT는 CAST는 ANSI입니다.
CONVERT하면 그 외에는 등 날짜를 포맷 할 수 있다는 점에서 더 유연, 그들은 거의 동일합니다. 당신은 확장 된 기능, 사용 CAST 걱정하지 마십시오.
편집하다:
아래의 코멘트에 @beruic에 의해 C-F @ 언급 한 바와 같이, 암시 적 변환이 (당신도 CAST 나 CONVERT를 사용 하나입니다) 사용되는 정밀도의 손실 가능성이있다. 은 SQL Server 데이터 형식 변환 차트 : 자세한 내용은 CAST 및 CONVERT 특히이 그래픽에서를 참조하십시오. 이 추가 정보를 사용하여 원래의 조언은 여전히 동일하게 유지됩니다. 가능한 CAST를 사용합니다.
-
==============================
2.변환은 문자열 변환에 날짜에 대한 스타일 매개 변수가 있습니다.
변환은 문자열 변환에 날짜에 대한 스타일 매개 변수가 있습니다.
http://msdn.microsoft.com/en-us/library/ms187928.aspx
-
==============================
3.CAST는 표준 SQL이지만, CONVERT 만 사투리 T-SQL입니다. 우리는 날짜의 경우 변환을위한 작은 장점이 있습니다.
CAST는 표준 SQL이지만, CONVERT 만 사투리 T-SQL입니다. 우리는 날짜의 경우 변환을위한 작은 장점이 있습니다.
CAST를 사용하면 표현과 대상 유형을 나타냅니다; CONVERT로, 문자열 및 날짜와 시간 값과 같은 일부 변환에 지원되는 변환의 스타일을 표현하는 세 번째 인수가있다. 예를 들어, CONVERT를 들어 (DATE, '2012년 1월 2일', 101)는 미국 표준을 나타내는 스타일 (101)를 사용하여 DATE에 리터럴 문자열로 변환합니다.
-
==============================
4.위의 생산처럼에 의해 answercopied을 확장하기 위해, 나는 실제로 두 기능 사이의 성능 차이를 측정 할 수 있었다.
위의 생산처럼에 의해 answercopied을 확장하기 위해, 나는 실제로 두 기능 사이의 성능 차이를 측정 할 수 있었다.
이 질문에 대한 해결책의 변화의 성능을 테스트하고 CAST를 사용하는 경우 표준 편차와 최대 런타임 큰 것을 발견했다.
* 시간은 밀리 초 단위로 반올림 날짜 시간 유형의 정밀도에 따라 초당 300 가까운 1 /
-
==============================
5.뭔가 아무도 아직 언급 한 것 같다 가독성이다. 데 ...
뭔가 아무도 아직 언급 한 것 같다 가독성이다. 데 ...
CONVERT(SomeType, SomeReallyLongExpression + ThatMayEvenSpan + MultipleLines )
...보다 쉽게 이해할 수 있습니다 ...
CAST(SomeReallyLongExpression + ThatMayEvenSpan + MultipleLines AS SomeType )
-
==============================
6.CAST는 ANSI 표준을 사용합니다. 휴대의 경우, 이것은 다른 플랫폼에서 작동합니다. CONVERT는 SQL 서버에만 적용됩니다. 하지만 매우 강력한 기능입니다. 당신은 날짜에 대해 서로 다른 스타일을 지정할 수 있습니다
CAST는 ANSI 표준을 사용합니다. 휴대의 경우, 이것은 다른 플랫폼에서 작동합니다. CONVERT는 SQL 서버에만 적용됩니다. 하지만 매우 강력한 기능입니다. 당신은 날짜에 대해 서로 다른 스타일을 지정할 수 있습니다
from https://stackoverflow.com/questions/707335/t-sql-cast-versus-convert by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL로 카운터를 실행에 "차이"를 찾을 수 있습니까? (0) | 2020.03.26 |
---|---|
[SQL] 어떻게 SQL Server 데이터의 스크립트를 얻으려면? [복제] (0) | 2020.03.26 |
[SQL] 정렬 MySQL의 오류의 불법 혼합 (0) | 2020.03.26 |
[SQL] 오류 1046 없음 데이터베이스 선정, 어떻게 해결합니까? (0) | 2020.03.26 |
[SQL] DISTINCT와 선택 COUNT (*) - SQL 서버 쿼리 (0) | 2020.03.26 |