Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вывести первые символы из поля до пробела в запросе / 9 сообщений из 9, страница 1 из 1
09.02.2021, 11:03
    #40043559
san7667
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
Добрый день, кто может подсказать?
Допустим в поле 'nd' таблицы 'temp' хранится '12345 qwerty'

Как вывести в запросе с этого поля первые символы до пробела , то есть '12345'
Fb 3.0.4
...
Рейтинг: 0 / 0
09.02.2021, 11:17
    #40043565
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
san7667,

POSITION(), SUBSTRING()
...
Рейтинг: 0 / 0
09.02.2021, 11:38
    #40043571
san7667
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
WildSery,

с SUBSTRING() получается только от какого символа и до какого , что то типа

SUBSTRING(nd FROM 1 FOR 5) as nd
он выводит с 1 по 5 символ, но мне нужно что бы не до номера символа а до пробела

пробовал всякое SUBSTRING(nd FROM 1 FOR ' ') as nd или SUBSTRING(nd FROM 1 FOR '#32' ) as nd но это все фигня
...
Рейтинг: 0 / 0
09.02.2021, 11:39
    #40043572
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
WildSery
POSITION() , SUBSTRING()
...
Рейтинг: 0 / 0
09.02.2021, 11:53
    #40043579
san7667
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
WildSery,

Вычислил позицию пробела, 6 место
как теперь через substring указать?

SELECT POSITION(' ' IN nd) as pos, substring(nd from 1 for pos) as nd FROM temp - не то
...
Рейтинг: 0 / 0
09.02.2021, 11:57
    #40043582
san7667
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
WildSery,
Разобрался

SELECT substring(nd from 1 for POSITION(' ' IN nd)) as nd FROM temp

спасибо за наводку !
...
Рейтинг: 0 / 0
09.02.2021, 11:59
    #40043587
WildSery
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
san7667,

Ну вот, молодец же.
Только -1 ещё добавь к позиции, а то ты сам пробел захватываешь.
...
Рейтинг: 0 / 0
09.02.2021, 12:02
    #40043588
san7667
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
WildSery,

Спасибо!
...
Рейтинг: 0 / 0
10.02.2021, 10:59
    #40043917
Dimbuch®
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вывести первые символы из поля до пробела в запросе
san7667,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
SELECT
  SUBSTRING(a.txt SIMILAR '\"[^[:WHITESPACE:]]*\"[[:WHITESPACE:]]%' ESCAPE '\')
FROM (
  SELECT 'Вычислил позицию пробела' AS txt FROM rdb$database
  UNION SELECT 'пробовал всякое SUBSTRING(nd FROM 1 FOR  )' AS txt FROM rdb$database
  UNION SELECT '12345 qwerty' AS txt FROM rdb$database
) a
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вывести первые символы из поля до пробела в запросе / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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