Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de conversion de date sur un système US

5 réponses
Avatar
Pierre
Bonjour,

J'ai un probleme de conversion de date avec un serveur sql 2000 installé sur
un système windows 2000 version US

Sur le serveur de production le système est un système français avec ces
règlages pour sql server
Language : Anglais (Etats Unis)
Server collation : Latin1_general_CI_AI

Et sur un autre serveur j'ai un sytème anglais avec ces réglages
Language : Anglais (Etats Unis)
Server collation : SQL_Latin1_general_CI_AI
Systeme : US regional settings short date format dd/MM/yyyy

Si je fais un select * from myTable where myDate >'28/02/2008'
Sur le serveur de production cela passe.
Sur l'autre serveur j'ai une erreur
Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

Y a t-il un moyen de modifier des réglages pour contourner ce problème ?

Merci

5 réponses

Avatar
Pierre
Précisions :

Sur le meme serveur us est installé une instance de sql 2005 language
french.
Et là les requetes ne posent pas de probleme.

Je suppose donc que cela provient du réglage language Anglais sur le sql
2000 (c'est pourtant le paramétrage du serveur de production)

Donc je ne comprends pas ce qui se passe...
Est-il possible de modifier le paramétrage de langue sur sql 2000

Merci

"Pierre" wrote in message
news:O%23s$
Bonjour,

J'ai un probleme de conversion de date avec un serveur sql 2000 installé


sur
un système windows 2000 version US

Sur le serveur de production le système est un système français avec ces
règlages pour sql server
Language : Anglais (Etats Unis)
Server collation : Latin1_general_CI_AI

Et sur un autre serveur j'ai un sytème anglais avec ces réglages
Language : Anglais (Etats Unis)
Server collation : SQL_Latin1_general_CI_AI
Systeme : US regional settings short date format dd/MM/yyyy

Si je fais un select * from myTable where myDate >'28/02/2008'
Sur le serveur de production cela passe.
Sur l'autre serveur j'ai une erreur
Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

Y a t-il un moyen de modifier des réglages pour contourner ce problème ?

Merci




Avatar
Sylvain Lafontaine
Par défaut, SQL-Server utilise la langue associée à votre compte Login tel
que définie dans l'onglet Sécurité; les autres paramètres n'ont aucune
importance. Pour changer le format d'interprétation des dates, changez la
langue par défaut associé à votre compte Login ou utilisez la commande Set
Language French:

set language english
select Convert (datetime, '1/2/2008')

set language french
select Convert (datetime, '1/2/2008')

À la place du language, vous pouvez aussi changer le paramètre DateFormat

set dateformat 'mdy'
select Convert (datetime, '1/2/2008')

set dateformat 'dmy'
select Convert (datetime, '1/2/2008')

Une autre solution serait d'utiliser pour vos dates en format caractères un
format indépendant du language tel que '20080201' (et non pas '2008/02/01'
qui lui est dépendant du language sur SQL-Server).

--
Sylvain Lafontaine, ing.
MVP - Technologies Virtual-PC
E-mail: sylvain aei ca (fill the blanks, no spam please)


"Pierre" wrote in message
news:
Précisions :

Sur le meme serveur us est installé une instance de sql 2005 language
french.
Et là les requetes ne posent pas de probleme.

Je suppose donc que cela provient du réglage language Anglais sur le sql
2000 (c'est pourtant le paramétrage du serveur de production)

Donc je ne comprends pas ce qui se passe...
Est-il possible de modifier le paramétrage de langue sur sql 2000

Merci

"Pierre" wrote in message
news:O%23s$
Bonjour,

J'ai un probleme de conversion de date avec un serveur sql 2000 installé


sur
un système windows 2000 version US

Sur le serveur de production le système est un système français avec ces
règlages pour sql server
Language : Anglais (Etats Unis)
Server collation : Latin1_general_CI_AI

Et sur un autre serveur j'ai un sytème anglais avec ces réglages
Language : Anglais (Etats Unis)
Server collation : SQL_Latin1_general_CI_AI
Systeme : US regional settings short date format dd/MM/yyyy

Si je fais un select * from myTable where myDate >'28/02/2008'
Sur le serveur de production cela passe.
Sur l'autre serveur j'ai une erreur
Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an
out-of-range datetime value.

Y a t-il un moyen de modifier des réglages pour contourner ce problème ?

Merci








Avatar
Guillaume JAY
On Tue, 11 Mar 2008 10:20:54 +0100, "Pierre" wrote:
Y a t-il un moyen de modifier des réglages pour contourner ce problème ?



Pour ma part, sans connaitre les contraintes bien sur, je modifierai
mes requêtes plutot.

Cette page est un bon résumé :
http://www.karaszi.com/SQLServer/info_datetime.asp

Guillaume
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something.
Robert A. Heinlein
Avatar
Pierre
"Sylvain Lafontaine" <sylvain aei ca (fill the blanks, no spam please)>
wrote in message news:OE18IT$
Par défaut, SQL-Server utilise la langue associée à votre compte Login tel
que définie dans l'onglet Sécurité; les autres paramètres n'ont aucune
importance. Pour changer le format d'interprétation des dates, changez la
langue par défaut associé à votre compte Login ou utilisez la commande Set
Language French:



Effectivement cela fonctionne.

Merci
Avatar
Fred BROUARD
Guillaume JAY a écrit :
On Tue, 11 Mar 2008 10:20:54 +0100, "Pierre" wrote:
Y a t-il un moyen de modifier des réglages pour contourner ce problème ?



Pour ma part, sans connaitre les contraintes bien sur, je modifierai
mes requêtes plutot.

Cette page est un bon résumé :
http://www.karaszi.com/SQLServer/info_datetime.asp

Guillaume
Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something.
Robert A. Heinlein




plus détaillé et en français :

http://baptiste-wicht.developpez.com/tutoriel/ms-sql/datetime/

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
*********************** http://www.sqlspot.com *************************