알아두면 좋은 MS-SQL 관련 토막상식01
DATETIME에서 지원하는 가장 빠른 날짜가 1753년인 이유는?
- Tibor Karaszi, SQL Server MVP, Solid Quality Learning
좋은 질문이다. 이 제한사항에는 역사적인 이유가 있다. 서양에서는 두 개(줄리안력과 그레고리안력)의 달력을 사용해왔다. 어느 세기를 보느냐에 따라 줄리안력과 그레고리안력은 몇 일 정도의 차이가 났었고, 줄리안력에서 그레고리안력으로 표준을 변경하면서 약 10-13일 정도가 제거되었다. 대영제국에서는 1752년 줄리안력에서 그레고리안력으로 표준을 변경하였다.(그래서 1752년에는 1752년 9월 2일 다음 날이 1752년 9월 14일이 되었다.)
Microsoft SQL Server의 전신인 Sybase SQL Server에서도 시스템에서 지원하는 가장 빠른 날짜는 1753년이었다. 그 이유는 1753년 이전의 데이터를 입력하기 위해서는, 어느 나라에서 어떤 달력을 사용하는지를 알아야만 하고, 그 선택에 따라 각각 10-13일의 오차를 보정해 주어야 하기 때문이었다. 그래서 Sybase에서는 1753년 이전의 데이터에 대해서는 지원하지 않는 것으로 의사결정하였다. 또한, 1752년 이후에 줄리안력에서 그레고리안력으로 표준을 변경한 나라도 있다. 예를 들어, 터키 같은 나라는 1927년부터 그레고리안력을 표준으로 사용하기 시작했다.
스웨덴이 가장 독특한 방법으로 줄리안력에서 그레고리안력으로 표준을 변경하였다. 스웨덴에서는 원래 1700년부터 1740년까지 40년 동안 4년마다 돌아오는 윤일(2월 29일)을 건너뛰는 방법으로, 1740년이후에 그레고리안력과 동기화하려고 계획하였다.(결국은 1740년에 동기화되지는 않았다.) 하지만, 1704년과 1708년에는 몇 가지 이유로 윤일을 건너뛰지 않았고, 결국, 윤년이었던 1712년에 하루를 추가하고(2월 30일에 태어난 사람을 생각해 보라!), 1753년에 하루의 차이를 추가로 보정하여, 동일한 조건을 맞추게 되었다.
'SQL > 도움말 팁들!' 카테고리의 다른 글
대용량 INSERT .. SELECT 작업 중 중지했을 때 대처 방안 (0) | 2011.10.24 |
---|---|
테이블 row count 빠르게 계산하는 방법 (0) | 2011.10.18 |
SQL Server 2005에서 사용하지 않는 테이블을 찾아 정리하는 방법 (0) | 2011.10.18 |
SQL 뭐라고 읽어야 하나.....? 씨퀄? 에스큐엘? (0) | 2011.09.26 |
sp_MSforeachdb 대체 할 만한 SP (0) | 2011.09.26 |