Функция SIGN
Функция SIGN работает идентично во всех трех рассматриваемых реализациях. Ее результатом есть знак числового выражения, переданного в качестве аргумента. Если число положительное, возвращается единица, если отрицательное, результатом будет -1 (если число строго равно нулю, возвращается нуль). В следующем примере возвращаются три единицы, поскольку цены товаров по определению положительны.
В качестве аргумента функции вместо имени столбца можно использовать любое числовое выражение. Поскольку во всех трех реализациях для выполнения функции требуется использование инструкции SELECT, нужен и какой-то объект, из которого выполняется выборка данных. В Oracle для этого можно использовать таблицу DUAL, в DB2 — таблицу sysibm. sysdummy1. В Microsoft SQL Server существование такой таблицы для инструкции SELECT неявно предполагается (как в СУБД Sybase). Таблица dual была введена Чаком Вайссом в качестве объекта в словаре данных Уназаметку Oracle. Ее никогда не предполагалось использовать самостоятельно — она пре назначалась для сложных операций объединения, о которых речь шла в главе 9.
С логической точки зрения она подходит под синтаксис инструкции select как объект, из которого может выполняться выборка данных. Строковые функции выполняют операции над символьными строками: изменяют регистр символов, выравнивание, ищут коды ASCII, извлекают подстроки и т. д. Обычно, но не всегда, как того требует стандарт SQL, результатом выполнения такой функции является строка. Некоторые наиболее популярные строковые функции перечислены в табл. 10.3.