[SQL] MSExcel 및 SQL 서버에서 날짜 변환의 차이
SQLMSExcel 및 SQL 서버에서 날짜 변환의 차이
엑셀에서 텍스트로 날짜를 변환하는 작업을하고 SQL Server의 날짜로 변환 할 의해 생성 된 번호를 사용하는 동안 나는 오늘 정말 이상한 것을 발견했다.
어떻게 그것에 대해 이상한? 다른 결과. 차이 이틀은 정확합니다.
나는 Excel에서 오늘 (20/05/2014 일 / 월 / 년)의 날짜를 가정하고 텍스트의 결과로 41,779을 얻었다.
나는 텍스트 값을 있고 난 날짜로 값을 검색 할 날짜에 SQL 변환을 사용하고 내가 원하는 결과를 얻을하지 않았다.
난 DATETIME2 테스트하지만 난 DATETIME2에 INT 변환 할 수 없습니다 것을 알게
나는 MS 엑셀 전문가도 아니고 SQL 서버 전문가가 아니지만, 무슨 일입니까? 나는 그것이 MS Excel에서 생성 된 번호를하고 2를 제거하여 작업 할 수 있습니다,하지만 여전히 나에게 이해가되지 않습니다.
해결법
-
==============================
1.도니는 다르게) 나는 같은 일을 궁금 일일 세 전 ... 간단한 운동을 할 :
도니는 다르게) 나는 같은 일을 궁금 일일 세 전 ... 간단한 운동을 할 :
일일 차이를 설명 대 = DATEVALUE ( "1900-01-01") (날짜 시간 0)를 선택 캐스트를 비교
및 VBA, Spolsky 조엘, 설명의 아버지를 읽어 하나 추가 윤년을 찾을
TL; DR
2 일 설명 - 차이를 확인
= DATEVALUE ( "1900년 2월 28일") 및 = DATEVALUE ( "1900년 3월 1일")
-
==============================
2.INT의 캐스트가 허용되는 DATETIME에 특히 집중, 불일치에 대한 두 가지 이유가 있습니다.
INT의 캐스트가 허용되는 DATETIME에 특히 집중, 불일치에 대한 두 가지 이유가 있습니다.
* (이에 대한 자세한 독서는 고의적하고, 또는 하찮은 고려했을 수 있습니다 제안)
추가
상태 Microsoft 기술 지원 항목이 있습니다 :
-
==============================
3.여기 코드를이 웹 사이트를 발견 솔루션보기를 검색 할 수 있습니다. 당신이 아직 버그에 있지 않기 때문에, 1을 빼지 않는 60 미만인 경우 당신은 60에서 임의의 숫자에 대한 검사를 할 필요가있다. 그것은이 끝난 경우 때문에 1900년 2월 29일 버그 일로부터 1을 빼야한다
여기 코드를이 웹 사이트를 발견 솔루션보기를 검색 할 수 있습니다. 당신이 아직 버그에 있지 않기 때문에, 1을 빼지 않는 60 미만인 경우 당신은 60에서 임의의 숫자에 대한 검사를 할 필요가있다. 그것은이 끝난 경우 때문에 1900년 2월 29일 버그 일로부터 1을 빼야한다
나는 해결책을 발견하는 곳 https://stackoverflow.com/a/727495/1692632입니다
from https://stackoverflow.com/questions/23759986/difference-between-datetime-converts-in-msexcel-and-sql-server by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 데이터베이스에 '#columntable'라는 개체가 이미 있습니다 (0) | 2020.07.13 |
---|---|
[SQL] WHERE 문에 대해 LIKE 및 IN을 사용하는 것이 가능? (0) | 2020.07.13 |
[SQL] 캔 INSERT는 [...] ON 충돌이 외래 키 위반에 사용? (0) | 2020.07.13 |
[SQL] 날짜 조건을 선택 쿼리 (0) | 2020.07.13 |
[SQL] 타임 스탬프 형식 열에서 날짜 시간 값을 얻을 수있는 방법이 있나요? (0) | 2020.07.13 |