OVH Cloud OVH Cloud

Sql erreur

3 réponses
Avatar
Esperanza
sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut >= " &
Datedebutant & " and datedebut <= " & DateFinissant & ") ORDER BY " &
varOrder

Bonjour en essayant de rouler la requêtre sql suivante, dans une page asp,
j'obtiens l'erreur suivante :
Incorrect syntax near the keyword 'and'.

Mes dates sont en numériques dans mon fichiers ainsi que dans mes variables
de parametre Datedebutant et datefinissant
ex :20041101.


Merci d'avance de m'éclairer là dessus !

Esperanza

3 réponses

Avatar
Oliv'
Salut,
il faut que tes dates soientt quoté : '

sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut >= '"
&
Datedebutant & "' and datedebut <= '" & DateFinissant & "') ORDER BY " &
varOrder

Oliv'


"Esperanza" a écrit dans le message de news:


sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut >= " &
Datedebutant & " and datedebut <= " & DateFinissant & ") ORDER BY " &
varOrder

Bonjour en essayant de rouler la requêtre sql suivante, dans une page asp,
j'obtiens l'erreur suivante :
Incorrect syntax near the keyword 'and'.

Mes dates sont en numériques dans mon fichiers ainsi que dans mes variables
de parametre Datedebutant et datefinissant
ex :20041101.


Merci d'avance de m'éclairer là dessus !

Esperanza
Avatar
Esperanza
Salut,
mes dates sont en format numériques.
Esperanza

"Oliv'" <(supprimerceci) a écrit dans le
message de news:41addc6e$0$18029$
Salut,
il faut que tes dates soientt quoté : '

sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut > '"
&
Datedebutant & "' and datedebut <= '" & DateFinissant & "') ORDER BY " &
varOrder

Oliv'


"Esperanza" a écrit dans le message de news:


sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut >= "


&
Datedebutant & " and datedebut <= " & DateFinissant & ") ORDER BY " &
varOrder

Bonjour en essayant de rouler la requêtre sql suivante, dans une page asp,
j'obtiens l'erreur suivante :
Incorrect syntax near the keyword 'and'.

Mes dates sont en numériques dans mon fichiers ainsi que dans mes


variables
de parametre Datedebutant et datefinissant
ex :20041101.


Merci d'avance de m'éclairer là dessus !

Esperanza








Avatar
Fred BROUARD
le format de la date est une notion qui n'existe pas. Une datetime est une datetime.
Si vous voulez convertir un string ou un float en date il faut utiliser une
conversion explicite, à moins que vous n'ayez l'assurance que la conversion
implicite puisse se faire !

Dans votre cas, la requête doit au finish s'écrire par exemple :

SELECT *
FROM dbo.vInscriptions
WHERE (datedebut >= '20040101' AND datedebut <= '20041231'
ORDER BY varOrder

Pour que le transtypage fonctione il faut :
soit une date au format ISO court : 'AAAAMMJJ hh:mm:ss nnn'
soit préciser au serveur le format que l'on souhaite à l'aide du flag
SET DATEFORMAT { YMD | YDM | DMY | DYM | MDY | MYD }

Dans la cas d'une conversion depuis un foat, vous devez vous assurer que le
nombre est un réel codifié US. La date origine 0 est le 1er janvier 1900 et la
partie décimale représente 24h.

Ainsi :
SELECT CAST(0 AS DATETIME)
donne :
1900-01-01 00:00:00.000

SELECT CAST(0.5 AS DATETIME)
donne :
1900-01-01 12:00:00.000

Car 1/2 journée donne midi

SELECT CAST(30.0 + 8.0/24.0 AS DATETIME)
donne
1900-01-31 07:59:59.970
du fait des erreurs d'arrondis du au calculs

Avec un format littéral non iso :

SELECT CAST('12-31-2004' AS DATETIME)
Serveur : Msg 242, Niveau 16, État 3, Ligne 1
La conversion d'un type de données CHAR en type DATETIME a donné une valeur hors
des limites des valeurs de date et d'heure.

il faut donc spécifier le tag DATEFORMAT :

SET DATEFORMAT MDY

SELECT CAST('12-31-2004' AS DATETIME)

2004-12-31 00:00:00.000

Le tag DATEFORMAT reste valable pendant toute la session.


A+

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************








Esperanza a écrit:
Salut,
mes dates sont en format numériques.
Esperanza

"Oliv'" <(supprimerceci) a écrit dans le
message de news:41addc6e$0$18029$

Salut,
il faut que tes dates soientt quoté : '

sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut > >


'"

&
Datedebutant & "' and datedebut <= '" & DateFinissant & "') ORDER BY " &
varOrder

Oliv'


"Esperanza" a écrit dans le message de news:


sPresences.Source = "SELECT * FROM dbo.vInscriptions where (datedebut >= "



&

Datedebutant & " and datedebut <= " & DateFinissant & ") ORDER BY " &
varOrder

Bonjour en essayant de rouler la requêtre sql suivante, dans une page asp,
j'obtiens l'erreur suivante :
Incorrect syntax near the keyword 'and'.

Mes dates sont en numériques dans mon fichiers ainsi que dans mes



variables

de parametre Datedebutant et datefinissant
ex :20041101.


Merci d'avance de m'éclairer là dessus !

Esperanza