Поделиться через


Правила ввода значений поиска (визуальные инструменты базы данных)

применимо к: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  
    

См. также

укажите критерии поиска (визуальные инструменты для баз данных)