requete sql avec date sous forme string, HELP !!!!
2 réponses
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
"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
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
"toto" <crombez.patrice@neuf.fr> a écrit dans le message de news:
d3hhvq$jfq$1@apollon.grec.isp.9tel.net...
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
"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
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
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" <crombez.patrice@neuf.fr> a écrit dans le message de news:
d3hhvq$jfq$1@apollon.grec.isp.9tel.net...
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
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