Hallo zusammen,
aktuell befasse ich mich mit dem Thema "Regular Expressions" in MSSQL-Datenbanken.
(Ich benutze SQL Server Management Studio 15.0.18410.0)
Folgender Code gibt die Einträge aat, bat, cat zurück, was korrekt ist.
DECLARE @SearchPattern NVARCHAR(MAX);
SET @SearchPattern = (SELECT '[a-c]at');
SELECT * FROM
(
SELECT 'aat' AS Expression
UNION
SELECT 'bat' AS Expression
UNION
SELECT 'cat' AS Expression
UNION
SELECT 'dat' AS Expression
UNION
SELECT 'eat' AS Expression
) AS A
WHERE (PATINDEX(@SearchPattern, A.Expression) > 0)
GO
Wie kann ich das SearchPattern anpassen, so dass die Einträge "aat" ODER "dat" ODER "eat" zurückgegeben werden?
OR Definition von zeichenfolgen?
SET @SearchPattern = (SELECT 'aat|dat|eat'); funktioniert nicht!
Oder gibt es bessere Lösungen als mit PATINDEX zu arbeiten?
aktuell befasse ich mich mit dem Thema "Regular Expressions" in MSSQL-Datenbanken.
(Ich benutze SQL Server Management Studio 15.0.18410.0)
Folgender Code gibt die Einträge aat, bat, cat zurück, was korrekt ist.
DECLARE @SearchPattern NVARCHAR(MAX);
SET @SearchPattern = (SELECT '[a-c]at');
SELECT * FROM
(
SELECT 'aat' AS Expression
UNION
SELECT 'bat' AS Expression
UNION
SELECT 'cat' AS Expression
UNION
SELECT 'dat' AS Expression
UNION
SELECT 'eat' AS Expression
) AS A
WHERE (PATINDEX(@SearchPattern, A.Expression) > 0)
GO
Wie kann ich das SearchPattern anpassen, so dass die Einträge "aat" ODER "dat" ODER "eat" zurückgegeben werden?
OR Definition von zeichenfolgen?
SET @SearchPattern = (SELECT 'aat|dat|eat'); funktioniert nicht!
Oder gibt es bessere Lösungen als mit PATINDEX zu arbeiten?