Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
применимо к:SQL Server
В этой статье рассматриваются соглашения, которые необходимо использовать при вводе следующих типов литеральных значений для условия поиска:
- Текстовые значения
- Числовые значения
- Даты
- Логические значения
Заметка
Сведения, приведенные в этой статье, являются производными от правил стандартного SQL-92. Однако каждая база данных может реализовать SQL собственным образом. Поэтому приведенные здесь рекомендации могут не применяться в каждом случае. Если у вас есть вопросы о вводе значений поиска для конкретной базы данных, см. документацию для используемой базы данных.
Поиск текстовых значений
Следующие рекомендации применяются при вводе текстовых значений в условия поиска:
Кавычки Заключать текстовые значения в одинарные кавычки, как в этом примере для фамилии:
'Smith'Если вы вводите условие поиска в области критериев (визуальные инструменты базы данных), вы можете просто ввести текстовое значение, а конструктор запросов и представлений автоматически помещает в него одинарные кавычки.
Заметка
В некоторых базах данных термины в одинарных кавычках интерпретируются как литеральные значения, в то время как термины в двойных кавычках интерпретируются как объекты базы данных, такие как столбцы или ссылки на таблицы. Таким образом, даже если конструктор запросов и представлений может принимать термины в двойных кавычках, он может интерпретировать их по-разному, чем ожидалось.
Внедрение апострофов Если данные, которые вы ищете, содержат апостроф (одинарную кавычку), можно ввести две одинарные кавычки, чтобы указать, что одинарная кавычка является буквальным значением, а не разделителем. Например, следующее условие выполняет поиск значения "Swann's Way:"
='Swann''s Way'Ограничения длины Не превышать максимальную длину инструкции SQL для базы данных при вводе длинных строк.
Конфиденциальность регистра Следуйте правилам конфиденциальности регистра для используемой базы данных. Используемая база данных определяет, учитывается ли регистр при поиске текста. Например, некоторые базы данных интерпретируют оператор "=" как точное совпадение с учетом регистра, но другие позволяют совпадения при любом сочетании прописных и строчных букв.
Если вы не уверены, использует ли база данных поиск с учетом регистра, можно использовать функции UPPER или LOWER в условии поиска для преобразования регистра данных поиска, как показано в следующем примере:
WHERE UPPER(lname) = 'SMITH'
Поиск числовых значений
Следующие рекомендации применяются при вводе числовых значений в условиях поиска:
Кавычки
Не заключайте числа в кавычки.
Нечисловые символы
Не включать нечисловые символы, кроме десятичного разделителя (как определено в диалоговом окне "Региональные параметры " панели управления Windows) и отрицательный знак (-). Не включать символы группировки цифр (например, запятую между тысячами) или символы валюты.
Десятичные знаки
Если вы вводите целые числа, можно включить десятичный знак, независимо от того, является ли значение, которое вы ищете, является целым или реальным числом.
Научное представление чисел
Вы можете ввести очень большое или очень небольшое число с помощью научной нотации, как в следующем примере:
> 1.23456e-9
Поиск по датам
Формат, используемый для ввода дат, зависит от используемой базы данных и в какой области конструктора запросов и представлений вы вводите дату.
Заметка
Если вы не знаете, какой формат использует источник данных, введите дату в столбец фильтра области условий в любом формате, знакомом вам. Конструктор преобразует большинство таких записей в соответствующий формат.
Конструктор запросов и представлений может работать со следующими форматами дат:
Специфичный для региона
Формат, указанный для дат в диалоговом окне "Свойства региональных параметров Windows ".
Специфично для базы данных
Любой формат, понятный базой данных.
Стандартная дата ANSI
Формат, использующий фигурные скобки, маркер d для обозначения даты и строки даты, как показано в следующем примере:
{ d '1990-12-31' }Стандартное дата-время ANSI
Аналогично стандартной дате ANSI, но использует "ts" вместо "d" и добавляет часы, минуты и секунды к дате (используя 24-часовые часы), как в этом примере для 31 декабря 1990 года:
{ ts '1990-12-31 00:00:00' }Как правило, стандартный формат даты ANSI используется с базами данных, представляющими даты с использованием истинного типа данных даты. В отличие от этого, формат даты и времени используется с базами данных, которые поддерживают соответствующий тип данных.
В следующей таблице приведен формат даты, который можно использовать в разных панелях конструктора запросов и представлений.
| панель | Формат даты |
|---|---|
| Критерии | Локально-специализированный, специализированный для базы данных стандарт ANSI Даты, введенные в области условий (визуальные инструменты для баз данных), преобразуются в формат, совместимый с базой данных, на панели SQL. |
| SQL | Стандарт ANSI для конкретной базы данных |
| Результаты | Учет региональных особенностей |
Поиск логических значений
Формат логических данных зависит от базы данных к базе данных. Очень часто значение False хранится как ноль (0). Значение True чаще всего сохраняется как 1 и иногда как -1. Следующие рекомендации применяются при вводе логических значений в условиях поиска:
Чтобы найти значение False, используйте ноль, как показано в следующем примере:
SELECT * FROM authors WHERE contract = 0;Если вы не уверены, какой формат следует использовать при поиске значения True, попробуйте использовать 1, как показано в следующем примере:
SELECT * FROM authors WHERE contract = 1;Кроме того, можно расширить область поиска, выполнив поиск любого ненулевого значения, как показано в следующем примере:
SELECT * FROM authors WHERE contract <> 0;