Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Sql Server 2025 (17.x)
Punkt końcowy analizy SQLusługi Azure SQL Managed Instance
usługi Azure SQL Database
w usłudzeMicrosoft Fabric i magazynie w
bazie danych Microsoft Fabric SQL Database w usłudze Microsoft Fabric
Skalarna REGEXP_SUBSTR funkcja wyrażenia regularnego zwraca jedno wystąpienie podciągu ciągu odpowiadającego wzorcowi wyrażenia regularnego. Jeśli nie zostanie znalezione dopasowanie, zwraca wartość NULL.
REGEXP_SUBSTR
(
string_expression,
pattern_expression [ , start [ , occurrence [ , flags [ , group ] ] ] ]
)
Arguments
string_expression
Wyrażenie ciągu znaków.
Może być stałą, zmienną lub kolumną ciągu znaków.
Typy danych: char, nchar, varcharlub nvarchar.
Note
Funkcje obsługują REGEXP_* typy LOB (varchar(max) i nvarchar(max)) do 2 MB dla parametru string_expression .
pattern_expression
Wzorzec wyrażenia regularnego do dopasowania. Zazwyczaj literał tekstu.
Typy danych: char, nchar, varcharlub nvarchar. pattern_expression obsługuje maksymalną długość znaków wynoszącą 8000 bajtów.
start
Określ pozycję początkową wyszukiwania w ciągu wyszukiwania. Optional. Typ to int lub bigint.
Numerowanie jest oparte na 1, co oznacza, że pierwszy znak w wyrażeniu jest 1, a wartość musi być >= 1. Jeśli wyrażenie początkowe jest mniejsze niż 1, zwraca błąd. Jeśli wyrażenie początkowe jest większe niż długość string_expression, funkcja zwraca NULLwartość . Wartość domyślna to 1.
occurrence
Wyrażenie (dodatnia liczba całkowita), które określa, które wystąpienie wyrażenia wzorca w ciągu źródłowym ma być wyszukiwane lub zastępowane. Wartość domyślna to 1. Wyszukuje pierwszy znak string_expression. W przypadku dodatniej liczby całkowitej n wyszukuje to wystąpienie n rozpoczynające się od pierwszego znaku po pierwszym wystąpieniu pattern_expression itd.
flags
Co najmniej jeden znak określający modyfikatory używane do wyszukiwania dopasowań. Typem jest varchar lub znak, z maksymalnie 30 znakami.
Na przykład ims. Wartość domyślna to c. Jeśli zostanie podany pusty ciąg (' '), będzie on traktowany jako wartość domyślna ('c'). Podaj c lub inne wyrażenia znaków. Jeśli flaga zawiera wiele sprzecznych znaków, program SQL Server używa ostatniego znaku.
Jeśli na przykład określisz ic regex zwraca dopasowanie uwzględniające wielkość liter.
Jeśli wartość zawiera znak inny niż wymienione na Obsługiwane wartości flagi, zapytanie zwraca błąd podobny do następującego przykładu:
Invalid flag provided. '<invalid character>' are not valid flags. Only {c,i,s,m} flags are valid.
Obsługiwane wartości flagi
| Flag | Description |
|---|---|
i |
Bez uwzględniania wielkości liter (wartość domyślna false) |
m |
Tryb wielowierszowy: ^ i $ dopasuj wiersz początkowy/końcowy oprócz tekstu rozpoczynającego/końcowego (wartość domyślna false) |
s |
Dopasuj .\n (ustawienie domyślne false) |
c |
Uwzględniana wielkość liter (wartość domyślna true) |
group
Określa, która grupa przechwytywania (podwyrażenie) pattern_expression określa położenie w string_expression do zwrócenia. Grupa przechwytywania (podwyrażenie) jest fragmentem wzorca ujętego w nawiasy i może być zagnieżdżona.
Grupy przechwytywania są numerowane w kolejności, w której pojawiają się ich lewe nawiasy. Typ danych grupy to int , a wartość musi być większa lub równa 0, i nie może być większa niż liczba grup przechwytujących (podwyrażeń) w pattern_expression. Domyślna wartość grupy to 0, co oznacza, że pozycja opiera się na ciągu odpowiadającym całemu wzorcowi.
Wartość zwracana
String.
Obsługa platformy
- W Azure SQL Managed Instance funkcje wyrażeń regularnych T-SQL są dostępne wyłącznie w zasadzie aktualizacjiSQL Server 2025 lub Always-up-to-date.
- Funkcje wyrażeń regularnych T-SQL są dostępne w Azure SQL Database, bazie SQL w Fabric oraz od SQL Server 2025.
- Funkcje wyrażeń regularnych T-SQL nie są dostępne w wersjach SQL Server 2022 ani starszych.
- Funkcje skalarne wyrażeń regularnych T-SQL są dostępne jako funkcja podglądowa w Fabric Data Warehouse. Więcej informacji można znaleźć w artykule Funkcje wyrażeń regularnych w Fabric Data Warehouse. Funkcje tabelowe T-SQL wyrażeń regularnych nie są dostępne w Fabric Data Warehouse.
Examples
Wyodrębnij nazwę domeny z adresu e-mail.
SELECT REGEXP_SUBSTR(EMAIL, '@(.+)$', 1, 1, 'i', 1) AS DOMAIN
FROM CUSTOMERS;
Znajdź pierwsze słowo w zdaniu, które zaczyna się od samogłoski.
SELECT REGEXP_SUBSTR(COMMENT, '\b[aeiou]\w*', 1, 1, 'i') AS WORD
FROM FEEDBACK;
Pobierz cztery ostatnie cyfry numeru karty kredytowej.
SELECT REGEXP_SUBSTR(CARD_NUMBER, '\d{4}$') AS LAST_FOUR
FROM PAYMENTS;