powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / функции для работы со строками
6 сообщений из 6, страница 1 из 1
функции для работы со строками
    #34271748
fanat1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть два поля, н-р: login=name1, email=name1@mail.net
нужно сделать выборку всех логинов, у которых логин равен мылу (без всего что идет за "@")
мне надо взять мыло пользователя, обрезать все что идет после @ и сравнить с логином.
подскажите пожалуйста с помощью каких функций это можно реализовать
...
Рейтинг: 0 / 0
функции для работы со строками
    #34271873
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
select ...
where login = substr(email, 1 ,pos(email,'@'))

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
create function pos(v lvarchar, c lvarchar) returning int

define dummy lvarchar;
define idx int;
define len int;

let idx, len, dummy =   1 , length(c), '';

while dummy != c
   let dummy, idx = substr(v, idx, len), idx +  1 ;
   if dummy is null then return  0 ; end if;
end while;

return idx- 1 ;

end function;
...
Рейтинг: 0 / 0
функции для работы со строками
    #34271951
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил в фак .
...
Рейтинг: 0 / 0
функции для работы со строками
    #34272242
fanat1k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
решил следующим способом:
SELECT ...
WHERE login = substr(email,1,LENGTH(login))

за функцию спасибо, пригодится в похожей задаче
...
Рейтинг: 0 / 0
функции для работы со строками
    #34272389
Фотография Тан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fanat1kрешил следующим способом:
SELECT ...
WHERE login = substr(email,1,LENGTH(login))

за функцию спасибо, пригодится в похожей задаче
такая конструкция даст неверный результат, если email длиннее login
например,
login=user
email=useremail@com

т.е. такое решение будет работать только в частном случае
...
Рейтинг: 0 / 0
функции для работы со строками
    #34274003
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fanat1kрешил следующим способом:
SELECT ...
WHERE login = substr(email,1,LENGTH(login))

за функцию спасибо, пригодится в похожей задаче
Таня права.
Код: plaintext
WHERE login||'@' = substr(email, 1 ,LENGTH(login)+ 1 )
или проще и намного лучше
Код: plaintext
WHERE email like login||'@%'
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / функции для работы со строками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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