SQL Escape Single Quote

SQL Escape Single Quote
“Benvenuti nel mondo di SQL. In questo post, impareremo come sfuggire a un singolo personaggio di citazione in SQL."

Facciamo esplorare.

Cos'è un singolo personaggio di citazione?

In SQL o Sviluppo, un singolo personaggio di citazione indica una stringa letterale o una serie di comandi.

Quando si lavora con i database SQL, si utilizzano spesso caratteri a preventivo singolo per racchiudere un tipo di stringa.

Ad esempio, quando si inserisce un valore di stringa in una tabella, li racchiude in singoli citazioni come mostrato:

Inserisci in table_name (col1, col2) valori (1, 'string')

Puoi anche usare caratteri a preventivo singolo in un comando SQL nativo come mostrato:

selezionare 'column_name';

Pertanto, è essenziale imparare a usare i caratteri a citazione singola in SQL.

Due personaggi a preventivo singolo indicano le posizioni di avvio e fine di una stringa letterale.

Cosa succede se desideriamo includere un singolo carattere come parte di una stringa? Ad esempio, potremmo inserire una stringa con un apostrofo.

Considera un esempio di seguito:

INSERIRE IN TABLE_NAME (COL1, COL2) VALORI (1, "Barra di Apple")

L'istruzione di cui sopra si rivelerà una sfida al database. Questo perché non vi è alcuna indicazione di dove dovrebbe iniziare o terminare la stringa.

Questo è dove entrano in gioco i personaggi di Escape.

Cos'è un personaggio di fuga?

Un personaggio di fuga è un personaggio speciale che dice a SQL di trattare un altro personaggio, come una singola citazione, come parte di una corda letterale.

Pertanto, per includere una singola citazione come parte di una stringa, utilizziamo un carattere di fuga per dire a SQL che il singolo preventivo specifico fa parte della stringa.

Esploriamo i vari metodi di sfuggire personaggi.

Metodo 1 - Usa doppi preventivi singoli

La forma più semplice e più applicabile per sfuggire a un singolo carattere è usare doppie citazioni singole.

Questo metodo di fuga è supportato nei principali motori di database SQL come MySQL, PostgreSQL, Oracle e MS SQL Server.

Questo metodo funziona aggiungendo una singola citazione prima della singola citazione che desideri sfuggire.

Confuso? Considera l'esempio seguente:

Seleziona 'Adam "S Book' come risultato;

La nostra stringa target è il "libro di Adam" nell'esempio sopra. Quindi, per includere la singola citazione come parte della stringa senza errori, aggiungiamo un altro singolo preventivo.

Il valore risultante è come:

+-------------+
| risultato |
+-------------+
| Il libro di Adam |
+-------------+

Per fortuna, questo metodo è ampiamente adottato dai principali motori di database. Puoi anche usare più di un singolo personaggio di citazione in un comando come:

Seleziona il libro "Adam" è stato a casa di Rachael "S";

La query sopra restituisce la stringa risultante come mostrato:

+------------------------------------+
| risultato |
+------------------------------------+
| Il libro di Adam era a casa di Rachael |
+------------------------------------+

Puoi vedere che siamo in grado di includere più caratteri a preventivo singolo in una stringa letterale.

Metodo 2 - Utilizzo dei caratteri di backslash

In MySQL, puoi usare i personaggi di Backslash per sfuggire a un singolo personaggio di citazione. Tuttavia, questa tecnica non è ampiamente adottata in altri motori di database.

Esempio:

Mysql> Seleziona la casa di Adam \ 'di conseguenza;

La dichiarazione sopra dovrebbe restituire:

Metodo 3 - Quotazioni doppie

È possibile utilizzare le citazioni doppie in alcuni motori di database per racchiudere una stringa. In tal caso, possiamo usare doppie citazioni per racchiudere una stringa che contiene caratteri a preventivo singolo.

Prendi l'esempio mostrato di seguito:

Seleziona "Adam's House" di conseguenza;

Sfortunatamente, questo metodo non è supportato da tutti i motori del database e può comportare un errore.

Metodo 4 - Utilizzo della funzione char

In SQL Server e Oracle, è possibile utilizzare la funzione char () e la concatenazione delle stringhe per aggiungere un singolo personaggio di citazione.

La funzione consente di specificare un valore intero e restituirà il suo carattere ASCII equivalente.

Sappiamo che il codice ASCII per una singola citazione è 39. Quindi, possiamo fornire questo valore in una stringa come mostrato:

Seleziona 'Adam'+Char (39)+House '

L'istruzione sopra dovrebbe restituire la stringa:

Tieni presente che la sintassi sopra è supportata solo nei database SQL Server e Oracle.

Chiusura

Questo è tutto per questo. In questo articolo, ti abbiamo fornito quattro metodi che puoi usare per sfuggire a un singolo personaggio di citazione in SQL. Scegli quello che funziona per te.

Grazie per aver letto!!