Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Informix Новый топик    Ответить
 TRIM  [new]
Сергей Сергеевич
Member

Откуда: Астрахань-Москва
Сообщений: 347
Необходимо убрать пробелы в начале строки в следующем выражении:
EXTEND(completedtime, HOUR TO SECOND)-EXTEND(loadtime, HOUR TO SECOND)

Пробовал вот так:

TRIM(TO_CHAR((EXTEND(completedtime, HOUR TO SECOND)-EXTEND(loadtime, HOUR TO SECOND)), '%R'))
ругается что не может работать с такими типами (TO_CHAR работает с DATE b DATETIME) а результат моего вычисления - INTERVAL, как я понял.

Как быть?
23 ноя 06, 16:57    [3442889]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
echo "select trim(EXTEND(current, HOUR TO SECOND)-EXTEND(current, HOUR TO SECOND)||'') from systables where tabid=99"|dbaccess a

(expression)

0:00:00



select trim((EXTEND(current, HOUR TO SECOND)-EXTEND(current, HOUR TO SECOND))::varchar(25))

(expression)

0:00:00

Сообщение было отредактировано: 23 ноя 06, 17:46
23 ноя 06, 17:03    [3442947]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Сергей Сергеевич
Member

Откуда: Астрахань-Москва
Сообщений: 347
select EXTEND(loadtime, YEAR TO DAY), TO_CHAR(loadtime,"%A"), name,
TRIM((EXTEND(completedtime, HOUR TO SECOND)-EXTEND(loadtime, HOUR TO SECOND))::varchar(25))
from files

A syntax error has occurred
23 ноя 06, 17:21    [3443127]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
Сергей Сергеевич
select EXTEND(loadtime, YEAR TO DAY), TO_CHAR(loadtime,"%A"), name,
TRIM((EXTEND(completedtime, HOUR TO SECOND)-EXTEND(loadtime, HOUR TO SECOND))::varchar(25))
from files

A syntax error has occurred
Тут два вариант или у вас семёрка, или кто-то сгрыз одно из двоеточий, попробуйте :::: (экранировать).

Сообщение было отредактировано: 23 ноя 06, 17:30
23 ноя 06, 17:30    [3443195]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Сергей Сергеевич
Member

Откуда: Астрахань-Москва
Сообщений: 347
У меня семерка. А как быть в моем случае?
23 ноя 06, 17:31    [3443212]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
Сергей Сергеевич
У меня семерка. А как быть в моем случае?
Я ведь написал два варианта, используйте 1-й вариант -- конкатенацию ||'' .

Сообщение было отредактировано: 23 ноя 06, 17:46
23 ноя 06, 17:45    [3443358]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Сергей Сергеевич
Member

Откуда: Астрахань-Москва
Сообщений: 347
Так двоеточие воспринимается как начало строки. вот так:

select EXTEND(loadtime, YEAR TO DAY), TO_CHAR(loadtime,"%A"), name,
TRIM((EXTEND(completedtime, HOUR TO SECOND)-EXTEND(loadtime, HOUR TO SECOND))||varchar(25))
from files;

тоже не работает. Пытается найти процедуру varchar
23 ноя 06, 17:47    [3443376]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
используйте 1-й вариант -- конкатенацию ||'' .
23 ноя 06, 17:49    [3443398]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Журавлев Денис
Member

Откуда: St.John,NB,CA
Сообщений: 5532
Сергей Сергеевич
Так двоеточие воспринимается как начало строки. вот так:
Это не двойная кавычка, это две одинарных. Конкатенация с пустой строкой, выполняется неявное преобразование интервала в строку.

Сообщение было отредактировано: 23 ноя 06, 17:52
23 ноя 06, 17:50    [3443409]     Ответить | Цитировать Сообщить модератору
 Re: TRIM  [new]
Сергей Сергеевич
Member

Откуда: Астрахань-Москва
Сообщений: 347
Все, допер. '' - это две одинарные ковычки =) а не одна двойная)

Большое спасибо
23 ноя 06, 17:51    [3443415]     Ответить | Цитировать Сообщить модератору
Все форумы / Informix Ответить