Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2014, 15:22   #1
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию Ковычки одинарные и двойные

Привет!

Почему "одинарные" ковычки - плохо, а "двойные" - хорошо?

Причём для имён столцов MySQL требует "кривые одинарные" ковычки:

Код:
SELECT `Name`
FROM `select_table`
WHERE `Name` LIKE "_van"
8Observer8 вне форума Ответить с цитированием
Старый 23.07.2014, 15:38   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,767
По умолчанию

Он прекрасно обходится вообще без кавычек:
Код:
select id, username
from pun_users
where username LIKE '%man'
Кавычки нужны для экранирования полей, названных в непонятной кодировке и/или с сохранением регистра. И то, в этом случае проще найти умника, который так сделал, и заставить переделать по-нормальному.
Vapaamies вне форума Ответить с цитированием
Старый 23.07.2014, 15:43   #3
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Спасибо! Действительно без "кривых" ковычек работает

Так "одинарные" или "двойные" - без разницы?
8Observer8 вне форума Ответить с цитированием
Старый 23.07.2014, 15:48   #4
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,767
По умолчанию

Двойные -- экранирование, одинарные (апострофы) -- строки. Кривые -- для кривых программистов.
Vapaamies вне форума Ответить с цитированием
Старый 23.07.2014, 15:52   #5
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Я только начал SQL изучать. А что значит "экранировать"? И что нужно "экранировать"?
8Observer8 вне форума Ответить с цитированием
Старый 23.07.2014, 16:49   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Кавычки еще нужны, если имя совпадает с ключевым словом, например если таблица (или поле) называется FROM или GROUP
waleri вне форума Ответить с цитированием
Старый 23.07.2014, 17:28   #7
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

waleri, спасибо! Это и есть экранирование?

Какие ковычки использовать в примере? Двойные или одинарные?

Код:
SELECT Name
FROM select_table
WHERE Name LIKE '_van'
8Observer8 вне форума Ответить с цитированием
Старый 23.07.2014, 18:06   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Двойные ковычки по традиции используют, когда в имени таблицы или объекта БД есть пробел т.е.
Код:
select
 "материалы АГС"
from
 "Таблица материалов"
или еще используют [] в таких случаях.
А одинарные ковычки указывают на простую строковую константу в запросах.
`` делают тоже самое что и "" - т.е. указывают на объект БД.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.07.2014, 21:10   #9
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,767
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
`` делают тоже самое что и "" - т.е. указывают на объект БД.
Это не по стандарту, это в MySQL выпендрились.
Vapaamies вне форума Ответить с цитированием
Старый 23.07.2014, 21:17   #10
8Observer8
Старожил
 
Аватар для 8Observer8
 
Регистрация: 02.01.2011
Сообщений: 3,322
По умолчанию

Если заменить `` на "", то не катит:

Код:
SELECT "Name"
FROM "select_table"
WHERE "Name" LIKE '_van'
8Observer8 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одинарные кавычки Delphi Hard_core Помощь студентам 4 27.06.2011 11:30
запись ковычки в документ whatever Помощь студентам 2 29.05.2011 18:27
Убрать ковычки Furyon PHP 1 22.04.2011 12:17
Что означают в Скилабе ковычки? Регина0989 Помощь студентам 6 16.02.2010 08:38
Ковычки в SQL запросе XPAiN БД в Delphi 13 22.02.2008 13:36