Gestion des date sous sql-server

Le
Sylo
Bonjour,

Sur sql-server 2000, j'ai des date du type 01/01/1000 qui sont rejeté
Y a t-il un paramètrage pour augmenter la plage de date accepté par sql
server
Merci
Sylo
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
news.wanadoo.fr
Le #19704331
Le type DATETIME permet donc de représenter une date du 1 Janvier 1753 à
zéro heure jusqu'au 31 Décembre 9999 à 23:59:59 et 997 millisecondes.
Pour prendre en compte des dates hors de cet interval, il faudrait utiliser
un format chaine (char(8) par exemple) pour stocker le date
http://baptiste-wicht.developpez.com/tutoriel/ms-sql/datetime/

Daniel

"Sylo" egPF1mb$
Bonjour,

Sur sql-server 2000, j'ai des date du type 01/01/1000 qui sont rejeté
Y a t-il un paramètrage pour augmenter la plage de date accepté par sql
server
Merci
Sylo



Fred BROUARD
Le #19732981
Sylo a écrit :
Bonjour,

Sur sql-server 2000, j'ai des date du type 01/01/1000 qui sont rejeté
Y a t-il un paramètrage pour augmenter la plage de date accepté par sql
server
Merci
Sylo




Cela est parfaitement normal, car les dates précédent la réforme du
calendrier grégorien sont dépendant de la localisation géographique.
Extrait de mon livre "SQL" collection Synthex, chez Pearson Education :

"
• En principe SQL précise qu'une date peut aller du premier janvier de
l'an 1 au 31 décembre de l'an 9999. Mais de nombreux SGBD n'acceptent
pas des dates inférieures au moment de l'adoption du calendrier grégorien.
Réforme du calendrier julien :
Au cours de l'Histoire et compte tenu de la précision accrue des calculs
astronomiques on constate que le calendrier julien souffre d'un manque
de précision : la durée de l'année julienne est trop longue d'un peu
plus de 11 minutes (365,25 jours au lieu de 365,2422) et au fil du
temps, le calendrier finit par retarder de plusieurs jours. C'est le
pape Grégoire XIII qui entreprend de réformer le calendrier : Pour cela,
10 jours furent supprimés de l'année 1582, où le 4 octobre fut
immédiatement suivi par le 15 octobre. Pour éviter de nouvelles dérives,
la sur évaluation de l'année julienne fut corrigée par la suppression de
3 jours tous les 400 ans. On ignore donc la règle des années bissextiles
les années séculaires, sauf pour celles qui sont divisibles par 400.
Il y a donc 97 années bissextiles par période de 400 ans et la durée
moyenne d'une année grégorienne est 365 + 97/100, c'est-à-dire 365,2425
jours.
Cette réforme nécessaire n'a pas été adoptée à la même date dans tous
les pays :
L'Italie, Espagne, Portugal et Pologne sont passés du 4 octobre 1582 au
15 octobre 1582
La France (sauf Alsace et Lorraine) est pasée du 9 décembre 1582 au 20
décembre 1582
Le Luxembourg est passé du 14 décembre 1582 au 25 décembre 1582
La Belgique (alors province des Pays-Bas) est passée du 21 décembre 1582
au 1 janvier 1583
Le Valais Suisse est passé du 28 février 1655 au 11 mars 1655
L'Alsace est passée du 4 février 1682 au 16 février 1682
Zurich, Berne, Bâle et Genève sont passé du 31 décembre 1700 au 12
janvier 1701
L'Angleterre est passée du 2 septembre 1752 au 14 septembre 1752
La Lorraine est passée du 16 février 1760 au 28 février 1760
L'U.R.S.S est passée du 31 janvier 1917 au 14 février 1917
"

A +


--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
Enseignant aux Arts & Métiers PACA et à L'ISEN Toulon - Var Technologies
*********************** http://www.sqlspot.com *************************
Publicité
Poster une réponse
Anonyme