Как и говорил уже – публикую еще одну сегодняшнюю статью. Она будет про язык PL/SQL. В прошлый раз я рассказывал о том, что мне осталось опубликовать еще две статьи о типах данных – и я перейду к циклам. Так вот – сегодня опубликую одну статью – и останется еще одна. В апреле я точно с ними разделаюсь – и приступлю уже к управляющим конструкциям языка (к циклам, ветвлениям и тд). Так что – уже скоро, даже самому уже не терпится.
Кстати, сегодня мне пришлось пересесть с Ubuntu на Windows 7, кое какие проги понадобились. А найти их очень просто – программы для windows 7 можно скачать в интернете, на сайте по ссылке. Программ там много, мне не все нужны были, а те, что нужны – я уже скачал. Теперь поюзаю их – и опять в Ubuntu перезагружусь. Ладно – приступим:
Преобразование типов:
Иногда бывает нужно преобразовать значение из одного типа данных в другой. Например, для использования значения типа DATE в отчете необходимо преобразовать его в символьную строку. PL/SQL допускает как явное, так и неявное (автоматическое) преобразование этих типов данных.
Для большей надежности и удобства сопровождения следует использовать явное преобразование. Неявное преобразование зависит от контекста и не всегда предсказуемо; его правила могут меняться в последующих выпусках программного обеспечения. Кроме того, неявное преобразование иногда занимает больше времени, чем явное преобразование.
Я сначала рассмотрю явное преобразование (в сегодняшней статье), а в следующий раз – уже неявное преобразование.
Явное преобразование:
Для явного преобразования значений одного типа данных в другой применяются встроенные функции SQL. Например, чтобы преобразовать значение типа CHAR в значение типа DATE или NUMBER используются соответственно функции TO_DATE или TO_NUMBER. Наоборот – для преобразования значения типа DATE или NUMBER в значение CHAR используется функция TO_CHAR (и прописывается маска форматирования значения).
Явное преобразование позволяет избежать ошибок и нежелательных результатов, например – вот таких вот:
Использование операции конкатенации (||) для сцепления строк и арифметического выражения может вызывать ошибку, которую можно предотвратить, если перед сцеплением использовать функцию TO_CHAR для преобразования арифметического выражения в строку.
Если не менять языковые установки для формата и значения типа DATE можно получить нежелательные результаты, которые можно предотвратить, воспользовавшись функцией TO_CHAR и указав в необходимый формат.
Комментариев нет:
Отправить комментарий