О.Д.Н. писал(а): А вот негласное преобразование типов эт. пожалуйста.
А эт шо за зверь? В каком языке можно строку сложить с числом? Я имею в виду из современных высокоуровневых. Про ассемблеры и PL/1 мне рассказывать не надо, кушал в больших дозах. Если всё-таки говорить то, что хочется сказать, то в библиотеке (исполняющей системе) любого транслятора, что в компиляторе, что в интерпретаторе, есть функции форматирования числовых типов при визуализации. И если ты не указываешь формат явно, то внутри функции визуализации вызывается всё та же функция с форматом по умолчанию. Так вот, сервера баз данных не занимаются визуализацией. Они занимаются хранением данных и манипулированием ими. Поэтому развитых функций форматирования не предусмотрено. При передаче числового типа на клмента всегда передаётся информация о типе (в случае numeric-decimal в том числе scale) и внутренне представление. И клиент занимается визуализацией самостоятельно исходя из этих данных и, если ты ему указываешь формат визуализации, то и из него, если нет - формата по умолчанию, который может отличаться от описания типа на сервере. Внутри же сервера при неявных преобразованиях используется только информация о типе. Для экзотики предусмотрен механизм UDF.
О.Д.Н. писал(а):
Вот и преобразовывать в стандарт сторонней фирмы в приложении
собственно я так и хотел сначала сделать пока не выяснилось, что отображение и распечатка информации в таком виде и для непосредственного клиента не помешает, дополнительные же вычисляемые поля у клиента лепить не охота и так машины слабенькие.
Да брось ты, какая там нагрузка на преобразовании, тем более, что оно делается по любому, но с дефолтным форматом. Не массивы же километровые перебирать.
О.Д.Н. писал(а):
А хранимые процедуры... - на сколько они сторможают выборку если в них просто напрямую передавать все поля таблицы, не делая ни каких дополнительных вычислений?
Смотря что за выборка. Именно селективные процедуры применяют главным образом когда одним запросом с клиента получить желаемый результат невозможно или очень дорого с точки зрения оптимизатора, выгоднее собрать результат с помощью нескольких запросов внутри For Select по основным таблицам, вызывая на if-ах только те, которые для теукщей записи нужны. Ну и ещё бывают случаи параноидального отношения к управлению доступом. А на тупом простом селекте с минимальной обработкой на лету будет проигрыш, особенно на длинных фильтруемых впоследствии выборках, условия в процедуру проталкивать можно, но в общем случае геморно и нецелесообразно. Клиенту клиентово, серверу серверово. А в данном случае внутри процедуры всё равно придётся пользоваться низкоуровневыми UDF из стандартной библиотеки работы со строками, так что это будет именно через неё, такую круглую, белую, полную
