понедельник, 25 апреля 2011 г.

Явное преобрзование


Как и говорил уже – публикую еще одну сегодняшнюю статью. Она будет про язык 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 и указав в необходимый формат.

Так – с принципом преобразования разобрались, с явным преобразованием тоже. Осталось неявное рассмотреть – и закончу на этом. Как-то поднадоела даже мне тема типов данных. На этой неделе последнюю статью попубликую.

Комментариев нет:

Отправить комментарий