Можно ли использовать регулярное выражение Regex i.e в SQL Server? Я использую SQL-2012 и 2014, и есть требование сопоставления и возврата ввода из моей хранимой процедуры.Сравнение шаблонов SQL с использованием регулярного выражения
Я не могу использовать LIKE в этой ситуации, так как возвращает только соответствующие слова, используя Regex. Я могу сопоставить целую кучу символов, таких как Space, Hyphen, Numbers.
Вот мой SP
--Suppose XYZ P is my Search Condition
Declare @Condition varchar(50) = 'XYZ P'
CREATE PROCEDURE [dbo].[usp_MATCHNAME]
@Condition varchar(25)
as
Begin
select * from tblPerson
where UPPER(Name) like UPPER(@Condition) + '%'
-- It should return both XYZ P and xyzp
End
Вот мой SP собирается вернуть все условия согласования, где Name = XYZ P, но, как получить другой столбец, имеющий имя как [XYZP, XYZP]
и если условие поиска имеет какое-либо значение Буквенно как
--Suppose XYZ 1 is my Search Condition
Declare @Condition varchar(50) = 'XYZ 1'
Тогда мой результат поиска также должен возвращать nonspace значения как [XYZ1, xyz1, а -1].
Я не хочу использовать подстроку, находя пространство и разбивая их на основе пространства, а затем сопоставляя.
Примечание: Мое условие ввода i.e., @Condition может иметь как пространство, так и пробел меньше, значение Hyphen (-) при выполнении хранимой процедуры.
Это работает ... Но нет никакой гарантии, что каждый SP будет получая параметр, имеющий пространство между ними. У нас даже может быть дефис – Amar
@Amar: Replace будет работать, только если параметр имеет пробел. – Arulkumar
Спасибо за демонстрацию замены, но это не сработает, если я должен найти его эквивалентный символ, например, если @Condition = 'XYZ 1' – Amar