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

requete sql avec date sous forme string, HELP !!!!

2 réponses
Avatar
toto
bonsoir
excusez moi de vous déranger (suis debutant en ASP et SQL) mais j'ai un
petit soucis ASP/SQL

a) J'ai une table contenant un champ de type "char" appelé "date" et "heure"
de la forme "jj-mm-ssaa" ou "j-m-ssaa" et "hh:mm:ss".
je ne peux pas changer le type du champ de la table car c est dans le cadre
du boulot !!
b) Dans un formulaire ASP, je recupere 2 dates (pour faire un between ..),
idem
pour les heures ..., donc a priori de type "string " également sous la forme
"jj-mm-ssaa" et "hh:mm:ss".

c)je fais une requete sql server du style:
select * from Tbl
where (even='RESOLV') AND (dateTbl BETWEEN 'date1' AND 'date2') AND
(HeureTbl BETWEEN 'heure1' AND 'heure2')

Ca ne marche pas ..! je soupconne les tests sur des strings de ne pas etre
tres sur .. et donc jessaie de passer tout au format date seulement je ne
comprends pas bien comment utiliser la fonction CONVERT.

1) Dois je deja reconvertir les champs string des dates vers d'autre champs
string du type "jj/mm/sssaa" pour pouvoir les utiliser ensuite dans la
requete via le convert ???
2) Comment utiliser le convert dans le where en ce qui concerne le champ
"dateTbl" sachant que celui si est au format jj-mm-ssaa ???
3) Comment convertir ce meme champ en jj/mm/ssaa avant utilisation du
CONVERT pour avoir ensuite un champ de type "date" pour faire fonctionner
le test ???
4) Peut on faire un CONVERT sur des champs de la forme jj-mm-ssaa ???
5) Je ne comprends pas non plus la syntaxe de CONVERT !!!

Excusez moi de toute ces questions j'ai un vieu bouquin d'asp et toujours
pas le net au boulot (suis stagiaire nouvellement arriivant) ou l'asp et sql
sont expliqué de manière légère !!!
je fais du net le soir mais je trouve peux de sources la dessus ...

Merci de votre aide et de votre compréhension !
Patrice crombez

2 réponses

Avatar
Synopsis
Dans l'aide en ligne, le tableau des conversions est me semble-t'il assez
explicit :

Exemple : si tu veux convertir un champ date au format Iso (yyyymmdd)

select convert(char(8), Getdate(), 112)
20050414



A l'inverse :
select convert(datetime, '20050415', 112)
2005-04-15 00:00:00.000



Effectivement je convertirai le format jj-mm-aaaa au format jj/mm/aaaa
en utilisant la fonction replace

Replace( 'jj-mm-aaaa', '-', '/' )
Tu te retrouves dans le format standar francais : code 103

donc

Select convert(datetime, Replace('jj-mm-aaaa', '-', '/') , 103)





"toto" a écrit dans le message de news:
d3hhvq$jfq$
bonsoir
excusez moi de vous déranger (suis debutant en ASP et SQL) mais j'ai un
petit soucis ASP/SQL

a) J'ai une table contenant un champ de type "char" appelé "date" et
"heure"
de la forme "jj-mm-ssaa" ou "j-m-ssaa" et "hh:mm:ss".
je ne peux pas changer le type du champ de la table car c est dans le
cadre
du boulot !!
b) Dans un formulaire ASP, je recupere 2 dates (pour faire un between ..),
idem
pour les heures ..., donc a priori de type "string " également sous la
forme
"jj-mm-ssaa" et "hh:mm:ss".

c)je fais une requete sql server du style:
select * from Tbl
where (even='RESOLV') AND (dateTbl BETWEEN 'date1' AND 'date2') AND
(HeureTbl BETWEEN 'heure1' AND 'heure2')

Ca ne marche pas ..! je soupconne les tests sur des strings de ne pas etre
tres sur .. et donc jessaie de passer tout au format date seulement je ne
comprends pas bien comment utiliser la fonction CONVERT.

1) Dois je deja reconvertir les champs string des dates vers d'autre
champs
string du type "jj/mm/sssaa" pour pouvoir les utiliser ensuite dans la
requete via le convert ???
2) Comment utiliser le convert dans le where en ce qui concerne le champ
"dateTbl" sachant que celui si est au format jj-mm-ssaa ???
3) Comment convertir ce meme champ en jj/mm/ssaa avant utilisation du
CONVERT pour avoir ensuite un champ de type "date" pour faire fonctionner
le test ???
4) Peut on faire un CONVERT sur des champs de la forme jj-mm-ssaa ???
5) Je ne comprends pas non plus la syntaxe de CONVERT !!!

Excusez moi de toute ces questions j'ai un vieu bouquin d'asp et toujours
pas le net au boulot (suis stagiaire nouvellement arriivant) ou l'asp et
sql
sont expliqué de manière légère !!!
je fais du net le soir mais je trouve peux de sources la dessus ...

Merci de votre aide et de votre compréhension !
Patrice crombez



Avatar
Synopsis
Je trouve le format adopté jj-mm-aaaa pas très astucieux :

15-03-2003 > 08-11-2005 !!!!

puisque tu compares des chaines de caractères.
Je penses que c'est l'origine de ton problème.

Le format ISO yyyymmaa ne viole pas la relation d'ordre.


"toto" a écrit dans le message de news:
d3hhvq$jfq$
bonsoir
excusez moi de vous déranger (suis debutant en ASP et SQL) mais j'ai un
petit soucis ASP/SQL

a) J'ai une table contenant un champ de type "char" appelé "date" et
"heure"
de la forme "jj-mm-ssaa" ou "j-m-ssaa" et "hh:mm:ss".
je ne peux pas changer le type du champ de la table car c est dans le
cadre
du boulot !!
b) Dans un formulaire ASP, je recupere 2 dates (pour faire un between ..),
idem
pour les heures ..., donc a priori de type "string " également sous la
forme
"jj-mm-ssaa" et "hh:mm:ss".

c)je fais une requete sql server du style:
select * from Tbl
where (even='RESOLV') AND (dateTbl BETWEEN 'date1' AND 'date2') AND
(HeureTbl BETWEEN 'heure1' AND 'heure2')

Ca ne marche pas ..! je soupconne les tests sur des strings de ne pas etre
tres sur .. et donc jessaie de passer tout au format date seulement je ne
comprends pas bien comment utiliser la fonction CONVERT.

1) Dois je deja reconvertir les champs string des dates vers d'autre
champs
string du type "jj/mm/sssaa" pour pouvoir les utiliser ensuite dans la
requete via le convert ???
2) Comment utiliser le convert dans le where en ce qui concerne le champ
"dateTbl" sachant que celui si est au format jj-mm-ssaa ???
3) Comment convertir ce meme champ en jj/mm/ssaa avant utilisation du
CONVERT pour avoir ensuite un champ de type "date" pour faire fonctionner
le test ???
4) Peut on faire un CONVERT sur des champs de la forme jj-mm-ssaa ???
5) Je ne comprends pas non plus la syntaxe de CONVERT !!!

Excusez moi de toute ces questions j'ai un vieu bouquin d'asp et toujours
pas le net au boulot (suis stagiaire nouvellement arriivant) ou l'asp et
sql
sont expliqué de manière légère !!!
je fais du net le soir mais je trouve peux de sources la dessus ...

Merci de votre aide et de votre compréhension !
Patrice crombez