|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre actif
![]() Inscription : septembre 2007 Messages : 630 ![]() |
Bonjour,
Voici le début de ma requête SELECT. J'ai un pb avec les variables. J'ai essayé 2 syntaxes différentes mais j'obtiens la même erreur. Citation:
Code :
Merci Thibault |
|||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 520 ![]() |
Non, pas d'idée car votre code me retourne :
Je parierais sur une coquille du genre une année 20011. Cela dit, donnez-nous votre vraie code d'origine et on pourra chercher vraiment. C'est quoi votre version en passant?
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|
|
00
|
|
|
#3 | ||
|
Membre éprouvé
![]() ![]() Hamid MIRAIngénieur développement logiciels Inscription : septembre 2003 Messages : 177 ![]() |
Pour éviter définitivement ce genre d'erreur ou problème, prends l'habitude d'utiliser le format ISO8601
yyyy-mm-ddThh:mm:ss[.mmm] Le format ISO8601 présente un avantage de taille puisqu'il s'agit d'une norme internationale. De plus, les valeurs datetime spécifiées dans ce format ne sont jamais ambiguës. Ce format n'est pas affecté par les paramètres SET DATEFORMAT ou SET LANGUAGE. Pour revenir à ton exemple, tu peux le réécrire comme indiqué ci-dessous : Code :
|
||
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() ![]() |
Citation:
J'ai abordé le sujet ici |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 668 ![]() |
Bonjour,
J'allais répondre ce qu'à écrit zinzineti à la fin de son billet : sans les tirets, cela fonctionne tout le temps, quel que soit le langage. En ce qui concerne la norme, elle autorise les deux représentations si j'en crois cet article (qui n'est pas dans son équivalent français): Citation:
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
|
00
|
|
|
#6 | |||
|
Membre chevronné
![]() ![]() Inscription : juillet 2006 Messages : 1 194 ![]() |
Citation:
SET @P3 = (cast('2011-05-05 00:00:00' AS DATETIME) ); fonctionne, c'est que dans votre configuration le second nombre est le jour et non le mois. |
|||
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 953 ![]() |
DATETIME ne supporte que la syntaxe ISO courte (par ce que il a été créé il y a longtemps du temps de Sybase).
DATETIME2 supporte la syntaxe ISO longue. A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#8 |
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 668 ![]() |
Ce que je fais assez souvent :
Code :
DECLARE @toto datetime = '20110502 18:12:25.333' @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|
00
|
Copyright © 2000-2012 - www.developpez.com