Текущий архив: 2008.05.18;
Скачать: CL | DM;
ВнизSQL запрос Найти похожие ветки
← →
Sw (2008-04-16 09:10) [0]База Interbase: мне нужно из поля name удалить первые 11 символов и последние 3, т.е. извлечь часть строки
Substring(name from 12 for 40) работает, но длина строки неизвестна, вместо значения 40 использую length(name)-3 - ругается SQL error code = -104.
Помогите отдельно получить строки без первых и последних символов получается:
select
(f_right(name, f_stringlength(name)-11)),
(f_left(name, f_stringlength(name)-3))
from table1
((((но мне нужно что-то вроде как функция Copy в Delphi((Помогите, пож-та
← →
Johnmen © (2008-04-16 09:34) [1]Обязательно это делать на сервере? Если да, то чем продиктовано?
← →
palva © (2008-04-16 09:43) [2]STRLEN - есть такая стандартная UDF. Если у вас в базе установлена, конечно.
← →
Sw (2008-04-16 09:57) [3]
> palva © (16.04.08 09:43) [2]
есть f_stringlength(name) - работает, но в Substring(name from 12 for ..) подставляю - ругается
← →
palva © (2008-04-16 10:24) [4]Похоже, что родная SUBSTRING принимает только константы. Используйте UDF типа:
SELECT SUBSTR(STATE_NAME, 2, STRLEN(STATE_NAME)-1) FROM STATE_TABLE
← →
Sw (2008-04-16 10:47) [5]Function unknown.SUBSTR.
только в таком варианте работает:SELECT SUBSTRING(NAME from 2 for 10) FROM TABLE
и через переменную не работает i(integer)l=f_stringlength(name); name=substring(name from 12 for l);
← →
Sw (2008-04-16 10:49) [6]т.е. l(integer)
← →
Sw (2008-04-16 11:03) [7]наверно буду в переменную присваивать сначала значение без первых символов, а потом без последних
name=(f_right(name, f_stringlength(name)-11));
(((
name=(f_left(name, f_stringlength(name)-3));
Страницы: 1 вся ветка
Текущий архив: 2008.05.18;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.048 c