Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да запазите обратната наклонена черта при избягване на кавички в MySQL – QUOTE()

Използването на обратна наклонена черта за избягване на единични кавички е често използвана техника, за да се гарантира, че единичните кавички не пречат на обработката на пълния низ от MySQL.

Единичните кавички се използват за заобикаляне на низ, така че единични кавички в самия низ може да причини хаос, ако не е правилно екраниран. Простото вмъкване на обратна наклонена черта непосредствено преди кавичката гарантира, че MySQL няма да прекрати преждевременно низа.

Въпреки това, може да има случаи, в които искате обратната наклонена черта да остане. Например, може да възнамерявате да използвате низа в SQL израз и следователно искате първо той да бъде правилно екраниран.

Това е мястото, където QUOTE() функцията идва.

MySQL QUOTE() функцията цитира низ, за ​​да произведе резултат, който може да се използва като правилно екранирана стойност на данни в SQL израз. Низът се връща в единични кавички и с всеки екземпляр на обратна наклонена черта (\ ), единични кавички (' ), ASCII NUL и Control+Z, предшествани от обратна наклонена черта.

Синтаксис на функцията QUOTE()

Ето как върви синтаксисът:

QUOTE(str)

Където str е (вече) екранираният низ.

Пример

Един пример вероятно обяснява това по-добре от моето обяснение:

SELECT QUOTE('Don\'t!') AS Result;

Резултат:

+-----------+
| Result    |
+-----------+
| 'Don\'t!' |
+-----------+

На пръв поглед може да си помислите „но нищо не се е случило – резултатът е абсолютно същият като аргумента“. Въпреки това, точно затова тази функция е полезна. Ако не бяхме използвали QUOTE() функция, ето какво би се случило:

SELECT 'Don\'t!' AS Result;

Резултат:

+--------+
| Result |
+--------+
| Don't! |
+--------+

Така че с помощта на QUOTE() функция, ние запазваме единичните кавички и обратната наклонена черта.

Разбира се, в много случаи това е точно това, което искате. В много случаи обратната наклонена черта и околните кавички трябва бъде премахнат. Но може да има някои случаи, в които искате точно това, което QUOTE() функция за вас.

Алтернативата

QUOTE() функцията ви спестява от необходимостта да правите нещо подобно:

SELECT '''Don\\\'t!''' AS Result;

Резултат:

+-----------+
| Result    |
+-----------+
| 'Don\'t!' |
+-----------+

Така това ни спестява от необходимостта да използваме три единични кавички за всяка отделна кавичка и три обратна наклонена черта за всяка отделна наклонена черта.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 начина за „дехексиране“ на низ в MySQL

  2. Как да преименувате таблица в MySQL

  3. Стъпки за инсталиране на Mysql56 на linux

  4. MySQL подготвени изявления

  5. Как да деактивирате строг SQL режим в MySQL 5.7