есть ли аналог SQL'ской ф-ции substring в Oracle?

 
0
 
Oracle
ava
s_a_s_h_a | 02.05.2006, 16:19
Нужно получить часть содержимого текстового поля. В SQL для этого есть функция substring(str from n to m). А вопрос в том, есть ли аналог этой функции в Oracle и какой синтаксис этого аналога?
Comments (10)
ava
batigoal | 02.05.2006, 15:27 #
SUBSTR('ABCDEFG',3,4) даст тебе CDEF.
ava
s_a_s_h_a | 02.05.2006, 15:37 #
Спасибо. Это работает с полями типа varchar2, а что делать с полями типа long?

/* У меня ошибка: "inconsistent datatypes" */
ava
batigoal | 02.05.2006, 16:16 #
Ну так ведь понятие "подстрока" применимо только к строкам. Насчет чисел не знаю. Видимо, нужно применять математические операции (округление и пр.)
ava
s_a_s_h_a | 02.05.2006, 16:22 #
в этом ... Oracle тип Long используется для хранения больших объемов текста переменной длины. Может быть указана любая длина до 2 Гб.
ava
batigoal | 02.05.2006, 16:28 #
Может быть, ты имеешь в виду CLOB?
ava
s_a_s_h_a | 02.05.2006, 16:39 #
не smile именно long. В Oracle, по крайней мере в 8-ом, есть 6 символьных типов данных: char, nchar, varchar2, nvarchar2, varchar и long. Мне надо как-то отобразить в небольшом пространстве хотя бы часть тескта, содержащегося в long, а как это сделать не знаю. :(
ava
batigoal | 02.05.2006, 16:50 #
Да, точно. Я и не знал.

added later:
В доке, кстати, написано, что
Цитата


Oracle Corporation strongly recommends that you convert LONG columns to LOB columns as soon as possible. Creation of new LONG columns is scheduled for desupport.

ava
LSD | 02.05.2006, 22:20 #
TO_LOB() а дальше работать через DBMS_LOB.
ava
s_a_s_h_a | 03.05.2006, 15:57 #
LSD, можете написать как примерно будут выглядеть запросы?

есть таблица my_table, в ней есть поле my_col типа clob. Мне надо запихать результат select-запроса в компонент DBGrid на C Builder'e, который не поддерживает тип clob /*может не совсем так, но в общем вылетает ошибка, когда просто пытаюсь поместить результат следующего запроса в DBGrid: select my_col from my_table*/, но туда можно запихать строку. Собственно вопрос заключается в следующем: какой запрос надо написать, чтобы результатом была строка, точнее часть поля my_col в виде строки?

// если мутно задан вопрос и описана ситуация, то напишите, пожалуйста, об этом, я попытаюсь сформулировать его по-другому.
ava
LSD | 04.05.2006, 23:16 #
А может просто перейти на ODAC?
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit