|
Программирование >> Исключение дубликатов строк
Представим несколько общих примеров выражений с использованием времени. 14:00 + 00:22 19:00 - 16:30 StartTime + 00:19 StopTime - StartTime Выражения с использованием даты и времени представлены только для общего сведения. Наша цель состоит только в том, чтобы вы концептуально понимали выражения с использованием даты и времени и имели общее представление о типах выражений, которые вы можете создавать. Конечно, досадно, что большинство СУБД совершенно не реализуют спецификации стандарта SQL для выражений с использованием времени, а многие только частично поддерживают эти спецификации для выражений с использованием даты. Однако все системы баз данных обеспечивают одну или несколько функций, которые позволяют работать с датами и временем, и поэтому изучите документацию по вашей системе базы данных, чтобы узнать, какие типы функций она предоставляет. Хотя синтаксис для этих функций будет немного отличаться от представленного здесь, общие концепции, относящиеся к арифметике для даты и времени, будут применимы. ИспользоАоние выражений а условии S6L6CT Очень важно понимать, как использовать выражения. При работе с SQL выражения используются для множества целей, например для: Создания вычисляемого столбца в запросе Поиска конкретного значения столбца Фильтрации строк в наборе результата Подсоединения к двум таблицам в операции JOIN На протяжении всей книги мы будем объяснять, как используются выражения. Начнем с использования основных выражений в условии SELECT. Внимание! В данной главе будет использован метод Запрос/Преобразование/Уточнение/SQL , введенный в главе 4. В условии SELECT основные выражения можно использовать для уточнения информации в наборе результатов и для расширения объема этой информации. Например, можно создать выражения для объединения фамилии и имени, вычислить итоговую цену продукта, определить, сколько времени потребуется для завершения проекта, или выяснить дату следующего приема для пациента. Посмотрим, как можно использовать выражение со сцеплением, математическое выражение и выражение с использованием дать! в условии SELECT. Использование вырожения со сцеплением В отличие математических выражений и выражений с датой, выражения со сцеплением используются только для повышения удобочитаемости информации, со-держапдейся в наборе результатов оператора SELECT. Предположим, что делается следуюш,ий запрос: Show те а current list of our employees and their phone numbers . ( Показать текущий список наших сотрудников и их телефонные номера .) При преобразовании этого запроса в операторе SELECT можно до некоторой степени улучшить вывод набора результата, объединив имя и фамилию в один столбец. Ниже приводится один способ преобразования этого запроса: Преобразование: Select the first name, last name, and phone number of all our employees from the employees table (Выбрать имя, фамилию и номер телефона всех сотрудников из таблицы Сотрудники ) Уточнение: Select the first name, last name, me phone number of-a- our employees from fte employees table (Выбрать имя, фамилию, номер телефона из Сотрудники ) SELECT EmpFirstName Phone Number: FROM Employees EmpLastName, EmpPhoneNumber Обратите внимание, что, помимо сцепления столбца имени, пробела и столбца фамилии, мы также объединили строку с символьным литералом Номер телефона: со столбцом телефонного номера. Этот пример показывает, что можно легко использовать более одного выражения конкатенации в условии SELECT для повышения удобочитаемости информации в наборе результата. Так же можно объединять значения с различными типами данных, применяя функцию CAST. По сушеству, в следую-ш,ем примере объединяются значение символьного столбца со значением цифрового столбца: Shaw те а list f all our vendors and their identification numbers . (Показать список всех наших поставшиков и их идентификационные номера .) Преобразование: Select the vendor name and vendor ID rom the vendors table (Выбрать имя поставш,ика и идентификатор поставшика из таблицы Поставш,ики ) Уточнение: Select the vendor name ttne vendor ID from the vendors table (Выбрать имя поставш,ика, идентификатор поставщика из Поставщики ) SQL SELECT The ID Number for 11 VendName is II CAST(VendorID AS CHARACTER) FROM Vendors Хотя выражение со сцеплением является важным инструментом в операторе SELECT, применять его следует с осторожностью. При использовании выражения со сцеплением, содержащего длинные литералы с символьными строками, не забывайте, что литералы будут появляться в каждой строке набора результатов. Можно завалить окончательный результат повторяющейся информацией вместо его улучшения. Тщательно изучите использование литералов в выражениях со сцеплением, чтобы они работали вам во благо. Присвоение имени выражению При использовании выражения в условии SELECT набор результата включает новый столбец, который отражает результат операции, определенной в выражении. Этот новый столбец называется вычисляемым (или производным) столбцом. Например, набор результатов для следующего оператора SELECT будет содержать три столбца: два настоящих и один вычисляемый: SQL SELECT EmpFirstName 11 * 11 EmpLastName, EmpPhoneNumber, EmpClty FROM Employees Два настоящих столбца это, конечно, EmpPhoneNumber и EmpCity, а вычисляемый столбец получается из выражения со сцеплением в начале условия SELECT. В соответствии со стандартом SQL можно (но не обязательно) присвоить имя новому столбцу, используя ключевое слово AS. Однако почти каждая СУБД требует имени для вычисляемого столбца. Некоторые системы баз данных требуют явного предоставления имени, а другие фактически сами предоставляют его. Определите, как ваша система баз данных обрабатывает их, прежде чем перейдете к работе с примерами. На рис. 5.10 представлен синтаксис для определения имени выражения. Для имени можно использовать любой допустимый строковый литерал (заключенный в апострофы). Некоторые системы баз данных смягчают это требование, когда присваивается имя выражению, и требуют апострофы только тогда, когда имя столбца Рис. 5.10. Присвоение имени выражению
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |