2009-12-10 4 views
0

Disons que j'ai requête structuré comme ci-dessous qui indique les datesComment rechercher une valeur numérique dans une base de données

search.asp?date=091210 

Je veux trouver chaque enregistrement qui comprend la chaîne 0912 comment puis-je savoir sur la structure des liens.

+0

Qu'est-ce que la base de données, et quel est le type de données de la colonne que vous souhaitez rechercher? –

+0

Je suppose que c'est une base de données d'adresses, et le type de données est une chaîne. Je pense que l'exemple doit être "search.asp? Zip = 90210". C'est la seule chose qui a du sens. – jball

+1

091210 = 9th Décembre 2010 ... son peut facilement être une date – kevchadders

Répondre

1
SELECT * FROM YourTable WHERE YourField LIKE '%0912%' 
+2

Il est à noter qu'aucune base de données connue optimise LIKE '%%' requêtes ... sens qu'aucun index ne sera utilisé. Seul LIKE 'préfixe%' est optimal, car vous avez besoin d'un préfixe commun pour utiliser un index. – pestilence669

+1

@Pestilence, je suis d'accord avec vous mais OP a dit "comprend", donc je devais deviner. –

1

En effet, ne faites jamais confiance à tout ce qui est donné sur une URL. Ce que vous devez faire est d'analyser la variable date et de la diviser en une partie mois, jour et année. Assurez-vous de faire les vérifications de santé nécessaires. Ensuite, vous pouvez émettre une requête comme: SELECT * FROM yourtable OU MOIS (dateColumn) = mois et l'année (dateColumn) = année

Questions connexes