W SQL Server, T-SQL STRING_ESCAPE() funkcja pomija znaki specjalne w tekstach i zwraca tekst ze znakami ucieczki.
Podczas wywoływania funkcji podajesz tekst i typ ucieczki jako argumenty.
Składnia
Składnia wygląda tak:
STRING_ESCAPE( text , type )
Gdzie tekst to tekst, który zawiera znaki, które mają zostać zmienione, i wpisz określa obowiązujące zasady ucieczki.
Obecnie jedyna obsługiwana wartość dla typu argumentem jest 'json' .
Przykład 1 – Podstawowe użycie
Oto przykład tego, jak to działa:
SELECT STRING_ESCAPE('\', 'json') AS Result; Wynik:
+----------+ | Result | |----------| | \\ | +----------+
Oto przykład ucieczki ukośnika:
SELECT STRING_ESCAPE('/', 'json') AS Result; Wynik:
+----------+ | Result | |----------| | \/ | +----------+
A oto przykład z nieco większą ilością tekstu:
SELECT STRING_ESCAPE('Free beer/wine with every lambo!', 'json') AS Result; Wynik:
+-----------------------------------+ | Result | |-----------------------------------| | Free beer\/wine with every lambo! | +-----------------------------------+
Przykład 2 – Nieprawidłowy typ
W chwili pisania tego tekstu jedyna obsługiwana wartość dla typu parametr to 'json' . Oto, co się stanie, jeśli podamy nieobsługiwaną wartość:
SELECT STRING_ESCAPE('\', 'oops') AS Result; Wynik:
An invalid value was specified for argument 2.
Znaki do ucieczki
W chwili pisania tego tekstu STRING_ESCAPE() funkcja może zmienić tylko znaki specjalne JSON wymienione w poniższej tabeli:
| Znak specjalny | Zakodowana sekwencja |
|---|---|
| cudzysłów (") | \" |
| Odwrócony solidus (\) | \| |
| Solidu (/) | \/ |
| Backspace | \b |
| Kanał formularzy | \f |
| Nowa linia | \n |
| Zwrot karetki | \r |
| Karta pozioma | \t |
| Znak sterujący | Zakodowana sekwencja |
|---|---|
| ZNAK(0) | \u0000 |
| ZNAK(1) | \u0001 |
| … | … |
| CHAR(31) | \u001f |