SQL Wild Card

Un problème avec votre ordinateur, l'un de vos logiciels ou le code que vous programmez, venez poser vos questions ici.
Forum rules
- AVIS IMPORTANT -
Les propos tenus sur le forum de ce site n'engagent que leurs auteurs et ne sont en aucun cas sous la responsabilité de AutoZoneQuébec.com ou d'Essai-Auto.com. Nous nous réservons le droit d'effacer tout message jugé désobligeant ou offensant.
Post Reply
User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am
SQL Wild Card

Post by Minigo » Fri Aug 28, 2009 9:26 am

Je cherche une façon d'utiliser un wildcard dans un champ numérique avec SQL serveur...

Exemple qui fonctionne avec un champ string qui fonctionne pas avec une clef numérique:
SELECT * FROM tbl_note WHERE Note like '%'

Mais avec un champ numérique (idNote INT)

SELECT * FROM tbl_note WHERE idNote like %

Est-ce que quelque chose existe avec un wildcard?
Si ça existe pas, je devrai changer mon approche car ce sont des requètes pour des dropdown list..

User avatar
Elladan
Dieu de la modération
Posts:2609
Joined:Thu Jun 04, 2009 9:45 pm
Location:Charlesbourg
Contact:

Re: SQL Wild Card

Post by Elladan » Fri Aug 28, 2009 9:30 am

Y'aurait pas moyen de faire ton like mais en faisant un convert en string ?

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: SQL Wild Card

Post by Minigo » Fri Aug 28, 2009 9:31 am

Elladan wrote:Y'aurait pas moyen de faire ton like mais en faisant un convert en string ?
Bonne piste...

Je vais l'essayer...

User avatar
kag
Posts:483
Joined:Sat Jun 06, 2009 10:24 am
Location:Shippagan, NB
Contact:

Re: SQL Wild Card

Post by kag » Fri Aug 28, 2009 9:43 am

C'est la seule façon de faire selon moi, mais selon la grosseur de ta table, ça risque d'être horriblement lent.
Image
Image
Image

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: SQL Wild Card

Post by Minigo » Fri Aug 28, 2009 9:52 am

L'autre façon faire pourrait fonctionner si ce qui suit existe:

On peut utiliser un CASE WHEN dans un SELECT pour un test.

SELECT CASE WHEN Prov='PQ' THEN 'Province Québec' WHEN Prov='PO' THEN 'Province Ontario' END as Province FROM ......

Mais un CASE dans la clause WHERE pouvait exister, je pense que j'aurais réglé mon problème genre:

SELECT * from tbl_Province WHERE CASE WHEN idProv=0 THEN strProv='Quebec' .....

User avatar
Minigo
Posts:693
Joined:Fri Jun 05, 2009 7:59 am

Re: SQL Wild Card

Post by Minigo » Fri Aug 28, 2009 10:15 am

Ha ben bâtard!!!!
J'ai trouvé une autre méthode!!!!

Code: Select all

IF @nivGFA >0 
BEGIN
     SELECT DISTINCT [Route_SA_Segment] FROM [tbl_GFA] WHERE GFA_Type= @nivGFA  ORDER BY [Route_SA_Segment]
END
IF @nivGFA =0 
BEGIN
     SELECT DISTINCT [Route_SA_Segment] FROM [tbl_GFA] ORDER BY [Route_SA_Segment]
END

Et tous ça... dans une DATASOURCE!!!
Je savais pas qu'on pouvais mettre un peu de code dans une datasource!!!

Avec bien sur un paramètre en référence avec une autre DDL:

<SelectParameters>
<asp:ControlParameter ControlID="DDLStatutGFA" Name="nivGFA" PropertyName="SelectedValue" />
</SelectParameters>

User avatar
fkc
Dieu de la modération
Posts:528
Joined:Sat Jun 06, 2009 12:00 am

Re: SQL Wild Card

Post by fkc » Fri Aug 28, 2009 10:46 am

Ouais tu peux envoyer un paramètre a un datasource qui lui est branché a une procédure stockées sur SQL. Je m'en sert tout le temps, ce ou ces paramètres peut etre fixe dans le datasource (genre ne pas afficher dans un combo box qui provient d'une table les valeur qui sont désactivé), soit une valeur qui vient de la form ou bien au run-time par ton code.

Perso, j'ai pas encore compris le gros intéret de Linq dans VS 2008, je suis du style que toutes mes requetes vers le serveur de data passe par des procédures stockées (et linq est pas trop trippeux de ca a première vue), c'est tellement puissant ce que tu peux faire dans le t-sql pour amméliorer la performance de la requete sans oublier que j'adore donnée accès par store proc et non au table directement qui eux sont barrer, meme en simple lecture ;-)
Image
Ma nouvelle voiture, RVR GT 2012 bleu cosmique.
Mon ancienne voiture (pendant 4 ans 11 mois et 6 jours), Lancer GTS 2008 bleu électrique nacré.

Post Reply