SQL Escape Single Quote

SQL Escape Single Quote
“Velkommen til SQLs verden. I dette innlegget lærer vi hvordan du slipper unna et enkelt sitatkarakter i SQL.”

La oss få utforske.

Hva er et enkelt sitatkarakter?

I SQL eller utvikling betegner et enkelt sitatkarakter en bokstavelig streng eller et sett med kommandoer.

Når du jobber med SQL -databaser, bruker du ofte enkelt sitatetegn for å legge ved en strengtype.

Når du for eksempel setter inn en strengverdi i en tabell, vedlegger du dem i enkelt sitater som vist:

sett inn i tabell_name (Col1, Col2) verdier (1, 'streng')

Du kan også bruke enkelt sitatetegn i en innfødt SQL -kommando som vist:

Velg 'Column_name';

Derfor er det viktig å lære å bruke enkelt sitatetegn i SQL.

To enkelt sitatetegn betegner start- og sluttposisjonene til en streng bokstavelig.

Hva skjer hvis vi ønsker å inkludere et enkelt tegn som en del av en streng? For eksempel kan vi sette inn en streng med en apostrof.

Tenk på et eksempel nedenfor:

sett inn i tabell_navn (Col1, Col2) verdier (1, 'Apples bar')

Ovennevnte uttalelse vil bevise en utfordring for databasen. Dette er fordi det ikke er noen indikasjon på hvor strengen skal starte eller slutte.

Det er her rømningskarakterer spiller inn.

Hva er en fluktkarakter?

En fluktkarakter er en spesiell karakter som forteller SQL å behandle en annen karakter, for eksempel et enkelt sitat, som en del av en streng bokstavelig.

For å inkludere et enkelt sitat som en del av en streng, bruker vi derfor et fluktkarakter for å fortelle SQL at det spesifikke enkelt sitatet er en del av strengen.

La oss utforske de forskjellige metodene for rømningskarakterer.

Metode 1 - Bruk doble enkelt sitater

Den enkleste og mest anvendelige formen for å slippe unna en enkelt karakter er å bruke doble enkelt sitater.

Denne fluktmetoden støttes i store SQL -databasemotorer som MySQL, PostgreSQL, Oracle og MS SQL Server.

Denne metoden fungerer ved å legge til et enkelt sitat før det eneste sitatet du ønsker å unnslippe.

Forvirrende? Tenk på eksemplet nedenfor:

Velg 'Adam "-bok' som et resultat;

Målstrengen vår er 'Adams bok' i eksemplet ovenfor. For å inkludere det eneste sitatet som en del av strengen uten feil, legger vi til ett enkelt tilbud til.

Den resulterende verdien er som:

+-------------+
| resultat |
+-------------+
| Adams bok |
+-------------+

Heldigvis er denne metoden mye vedtatt av store databasemotorer. Du kan også bruke mer enn ett enkelt tilbudstegn i en kommando som:

Select 'Adams bok var hjemme hos Rachael' som et resultat;

Ovennevnte spørring returnerer den resulterende strengen som vist:

+------------------------------------+
| resultat |
+------------------------------------+
| Adams bok var hjemme hos Rachael |
+------------------------------------+

Du kan se at vi er i stand til å inkludere flere enkelt tilbudstegn i en streng bokstavelig.

Metode 2 - Bruke backslash -tegn

I mysql kan du bruke backslash -tegn til å unnslippe et enkelt sitatkarakter. Imidlertid er denne teknikken ikke mye vedtatt i andre databasemotorer.

Eksempel:

mysql> velg 'Adam \' s hus 'som et resultat;

Uttalelsen ovenfor skal returnere:

Metode 3 - Doble sitater

Du kan bruke doble sitater i noen databasemotorer for å legge ved en streng. I så fall kan vi bruke doble sitater for å legge ved en streng som inneholder enkelt sitatetegn.

Ta eksemplet vist nedenfor:

Velg "Adams hus" som et resultat;

Dessverre støttes ikke denne metoden av alle databasemotorer og kan føre til en feil.

Metode 4 - Bruke røyefunksjonen

I SQL Server og Oracle kan du bruke char () -funksjonen og strengen sammenkobling for å legge til et enkelt sitatkarakter.

Funksjonen lar deg spesifisere en heltallverdi, og den vil returnere sin ASCII -karakterekvivalent.

Vi vet at ASCII -koden for et enkelt sitat er 39. Derfor kan vi gi denne verdien i en streng som vist:

Velg 'Adam'+Char (39)+'s House'

Uttalelsen ovenfor skal returnere strengen:

Husk at syntaks ovenfor bare støttes i SQL Server og Oracle Databases.

Lukking

Det er alt for denne. I denne artikkelen ga vi deg fire metoder du kan bruke til å unnslippe et enkelt sitatkarakter i SQL. Velg den som fungerer for deg.

Takk for at du leste!!