2015-06-03 2 views
-4

У меня есть таблица, которая выглядит следующим образомSubstring и сортировки таблицы SQL

ID  Date   Reason  Tag 
1  2 Jun 2015  Create New 9_0_17 
2  2 Jun 2015  Name Change Non User Event 
3  2 Jun 2015  Modified  9_0_17 
4  2 Jun 2015  Saved  9_1_17 
5  2 Jun 2015  Create New 9_0_18 

Я хотел бы отборное заявление, где я могу отфильтровать таблицу по которой тег начинается с 9, а значение после последнего подчеркиванием в столбце метки составляют 17. результатов будут выглядит следующим образом

ID  Date   Reason  Tag 
1  2 Jun 2015  Create New 9_0_17 
3  2 Jun 2015  Modified  9_0_17 
4  2 Jun 2015  Saved  9_1_17 

Просто к сведению, что стоимость после первого подчеркивания может подняться до 999, а значение после второго подчеркивания может идти до 99999.

+2

Sql Server, Oracle, MySql? –

+0

Что вы пробовали до сих пор и сталкиваетесь с какими-либо проблемами с вашим запросом? – 6ton

+2

где Tag like '9% _17'? – A4L

ответ

1

Вам просто нужно:

SELECT ID, Date, Reason, Tag 
FROM *your_table* 
WHERE TAG LIKE '9_%_17' 
+1

должно быть LIKE '9% _17' –

+0

Да, это сработает, но что произойдет, если значение тега 9_17_18. Оператор select по-прежнему будет выбирать его? Мне нужны строки только тогда, когда значение после второго подчеркивания равно 17. – abeuwe

+0

Я просто попытался, и вышеприведенный оператор также выберет 9_177_188 и так далее: /. – abeuwe