Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / И вновь UPPER / 10 сообщений из 10, страница 1 из 1
09.12.2013, 22:03:17
    #38494691
DelphiCoder_1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
Приветствую коллег.

Пишу на дельфе с фибами софтину для уже созданной базы на FB2.5.2 Embedded.

Возникла задача. Есть селект с вытаскиванием полей из разных таблиц. Приведу примерный код с фрагментом запроса:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SQL.Text:='SELECT '+#13#10
                +'(SELECT S_COMPANY1 FROM SENDERDATA), '+#13#10
                +'(SELECT R_COMPANY1 FROM RECEIVERS WHERE R_ID=PACKAGES.P_RECEIVER), '+#13#10
                +'(SELECT R_ADDRESSFULL FROM RECEIVERS WHERE R_ID=PACKAGES.P_RECEIVER), '+#13#10
                +'(SELECT R_PHONE FROM RECEIVERS WHERE R_ID=PACKAGES.P_RECEIVER), '+#13#10
                +'P_OTHERDOCUMENTS, '+#13#10
                +'(SELECT E_NAME FROM SENDEREMPLOYEERS WHERE E_ID=PACKAGES.P_EMPLOYEER), '+#13#10
                +'UPPER (SELECT S_COMPANY2 FROM SENDERDATA), '
                +'(SELECT E_PHONE FROM SENDEREMPLOYEERS WHERE E_ID=PACKAGES.P_EMPLOYEER), '+#13#10
                +'P_SENDINGDATETIME FROM PACKAGES WHERE P_ID=:ID;';



До сегодняшнего дня всё отлично работало. Сегодня мне понадобилось часть строк получить заглавными буквами. Для этого я вставил в его строки UPPER (ранее его не было), после чего запрос не захотел открываться.:

CommonDataForm.ReadQuery:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 8, column 8.
SELECT.

Кодировка базы UTF8, подключения - 1251. Прошу подсказать, поддерживает ли UPPER в FB2.5 вложенные селекты.
...
Рейтинг: 0 / 0
09.12.2013, 22:07:45
    #38494693
И вновь UPPER
DelphiCoder_1980Прошу подсказать, поддерживает ли UPPER в FB2.5 вложенные селекты.Вот это ?!
Код: sql
1.
UPPER (SELECT S_COMPANY2 FROM SENDERDATA) 

- нет, не очень поддерживает.

Но вот если так:
Код: sql
1.
SELECT UPPER (S_COMPANY2) FROM SENDERDATA

- то бывает, что и да.
...
Рейтинг: 0 / 0
09.12.2013, 22:19:44
    #38494705
DelphiCoder_1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
автор- нет, не очень поддерживает.

Спасибо. Мммм.... Куёво. Жалко, что не поддерживает. Похоже, придётся конвертировать на клиенте.
...
Рейтинг: 0 / 0
09.12.2013, 22:25:12
    #38494711
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
DelphiCoder_1980> Спасибо. Мммм.... Куёво. Жалко, что не поддерживает. Похоже, придётся конвертировать на клиенте.
А какая религия таки запрещает внести этот фигов UPPER внутрь скобочек?..


--
Vladimir A.Bakhvaloff
E-Mail: zirra1969<bark>gmail<dot>com

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
09.12.2013, 22:26:43
    #38494714
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
Попробуй выражение в скобки взять:
Код: sql
1.
UPPER ( (SELECT S_COMPANY2 FROM SENDERDATA) ) 
...
Рейтинг: 0 / 0
09.12.2013, 22:34:27
    #38494721
DelphiCoder_1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
hvlad, zirra
Спасибо, помогло.

kdv,
Можно внести данную особенность селекта в FAQ на ibase.ru? Думаю, не одному мне пригодится.
...
Рейтинг: 0 / 0
09.12.2013, 22:47:13
    #38494738
arni
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
DelphiCoder_1980Можно внести данную особенность селекта в FAQ на ibase.ru? Думаю, не одному мне пригодится.Подзапрос оборачивается скобками. Всегда. Вызов функции оборачивается скобками. Всегда. Подзапрос в качестве агрумента функции логично требует двойные скобки.
Это не какая-то странная "особенность селекта". Просто синтаксис такой. ИМХО, логичный, если помнить первое предложение.
...
Рейтинг: 0 / 0
10.12.2013, 00:17:37
    #38494807
DelphiCoder_1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
arni, благодарю, учту на будущее.
...
Рейтинг: 0 / 0
10.12.2013, 13:02:50
    #38495394
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
DelphiCoder_1980,

Что-то глядя на запрос закрадывается подозрение, что его можно переписать с JOIN...
...
Рейтинг: 0 / 0
10.12.2013, 19:14:32
    #38496104
DelphiCoder_1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И вновь UPPER
авторЧто-то глядя на запрос закрадывается подозрение, что его можно переписать с JOIN...

При желании можно, но в меня поселился главный двигатель прогресса - лень.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / И вновь UPPER / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]