Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Функция LENGTH

Функция LENGTHФункция LENGTH (в Microsoft SQL Server это LEN) возвращает количество символов (но не байтов — см. главу 3) в передаваемом ей аргументе. Если аргумент не символьного типа, он будет неявно преобразован в строку во всех трех рассматриваемых СУБД, длина которой и будет возвращена. Некоторые СУБД (в частности, Sybase) не выполняют такого неявного преобразования и возвращают ошибку несоответствия типов. Поэтому лучше, из соображений переносимости, перед передачей данных функции length проверять их тип. Oracle предлагает несколько вариаций данной функции. К примеру, функция LENGTH возвращает количество символов. Для возвращения количества Байтов в выражении используют функции LENGHTHB (Oracle) и DATALENGTH (SQL Server). Компания IBM сделала свою функцию length более универсальной — она возвращает либо количество символов, либо количество байтов, в зависимости от типа данных аргумента. К примеру, функция вернет число 1 для аргумента ‘ 5’ (символьный тип) и число 4 для аргумента 5 (числовой тип). Функция, возвращающая количество байтов, не преобразует аргумент в строку — она предоставляет информацию об объеме памяти, используемом для внутреннего хранения данных в соответствующей СУБД. К примеру, запрос вернет число 9 в Oracle (именно столько байтов отводится в этой СУБД для хранения текущей системной даты). Аналогичное выражение Microsoft SQL Server отчитается о 8 байтах, используемых для хранения системной даты. В IBM DB2, к примеру, используется 4 байта для хранения даты (как и для целочисленного значения) и 10 байт для штампа времени. Дополнительная Более полную информацию о типах данных и особенностях их внутреннего хранения можно найти в главе 3.