2014-12-05 106 views
1

我在我的數據庫中有一個數據列,它有一個項目編號,數字格式如下,YYYYnnnn.ee(例如20140124.00)。由於數字有三個不同的部分,用戶可以通過YYYY或nnnn進行搜索。我寫了一個由YYYY搜索的查詢。我需要爲nnnn寫一個查詢。字符串中的SQL查詢搜索

如何編寫查詢來搜索另一個字符串的特定位置中的特定字符串?

+1

您應該將其拆分爲單獨的列。 – 2014-12-05 16:54:48

回答

2

你可以使用SUBSTRING。

SUBSTRING的第一個參數應該是columname,下一個參數是開始字符的索引,最後一個參數是字符數。

下面的示例將返回列中的nnnn部分。在下面的例子中,我們正在尋找記錄中,其中NNNN等於1234

SELECT *  
FROM tablename 
WHERE  
(SUBSTRING(columnName, 5, 4) = '1234') 

請注意,如果你的列是一個數字(十進制)。您需要先將其轉換爲varchar(字符串)。例如:

SELECT *  
FROM tablename 
WHERE  
(SUBSTRING(CAST(columnName AS VARCHAR(20)), 5, 4) = '1234')