2009-12-10 117 views
0

數值比方說,我有查詢結構像下面這表明日期如何搜索數據庫中的

search.asp?date=091210 

我想找到的每個包括0912字符串如何查詢它的鏈接結構的記錄。

+0

什麼數據庫,以及想要搜索的列的數據類型是什麼? – 2009-12-10 22:12:48

+0

我猜這是一個地址數據庫,而數據類型是一個字符串。我認爲這個例子的意思是「search.asp?zip = 90210」。這是唯一有意義的事情。 – jball 2009-12-10 22:23:39

+1

091210 = 2010年12月9日...它可以很容易地被約會 – kevchadders 2009-12-11 11:57:03

回答

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

應該指出,沒有已知的數據庫優化LIKE'%%'查詢...意義沒有索引將被使用。只有LIKE的'前綴%'是最優的,因爲你需要一個通用的前綴來使用索引。 – pestilence669 2009-12-10 21:52:28

+1

@Pestilence,我同意你的看法,但OP說「包括」,所以我不得不猜測。 – 2009-12-10 21:56:53

1

事實上,絕對不要信任URL上給出的任何內容。 你應該怎麼做,是解析日期變量,並在一個月,一天和一年中分解它。 一定要做必要的理智檢查。 然後你可以發出如下查詢: SELECT * FROM yourTable WHERE MONTH(dateColumn)= month AND YEAR(dateColumn)= year