powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / СРОЧНО надо перевести MySQL запрос в PGSQL
11 сообщений из 11, страница 1 из 1
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436511
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть запрос для MySql
SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='test@domain.ru'
Надо срочно привести к PostGresql (помогайте стоит mail сервер)
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436541
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
SELECT replace(email,'@','/')
  FROM users 
 WHERE email='test@domain.ru'
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436558
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бабичев Сергей
Код: plaintext
1.
2.
SELECT replace(email,'@','/')
  FROM users 
 WHERE email='test@domain.ru'
Хотя, наверное тебе больше такое подойдет:
Код: plaintext
1.
2.
SELECT substr(email, instr(email,'@', 1 , 1 ) +  1 )||'/'|| substr(email,  1 , instr(email,'@', 1 , 1 ) -  1 )
  FROM users 
 WHERE email='test@domain.ru'
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436572
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бабичев Сергей
Код: plaintext
1.
2.
SELECT replace(email,'@','/')
  FROM users 
 WHERE email='test@domain.ru'


Я не силен в этом вопросе но думаю на выходе будет
test@domain.ru -> test/domain.ru
А мне требуется
test@domain.ru -> domain.ru/test/
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436584
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Soloik Бабичев Сергей
Код: plaintext
1.
2.
SELECT replace(email,'@','/')
  FROM users 
 WHERE email='test@domain.ru'


Я не силен в этом вопросе но думаю на выходе будет
test@domain.ru -> test/domain.ru
А мне требуется
test@domain.ru -> domain.ru/test/


???
Код: plaintext
1.
2.
SELECT substr(email, instr(email,'@', 1 , 1 ) +  1 )||'/'|| substr(email,  1 , instr(email,'@', 1 , 1 ) -  1 )||'/' as new_mail
  FROM users 
 WHERE email='test@domain.ru'
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436622
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бабичев Сергей Soloik Бабичев Сергей
Код: plaintext
1.
2.
SELECT replace(email,'@','/')
  FROM users 
 WHERE email='test@domain.ru'


Я не силен в этом вопросе но думаю на выходе будет
test@domain.ru -> test/domain.ru
А мне требуется
test@domain.ru -> domain.ru/test/


???
Код: plaintext
1.
2.
SELECT substr(email, instr(email,'@', 1 , 1 ) +  1 )||'/'|| substr(email,  1 , instr(email,'@', 1 , 1 ) -  1 )||'/' as new_mail
  FROM users 
 WHERE email='test@domain.ru'


function instr(character varying, "unknown", integer)
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436732
Soloik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется так

Код: plaintext
1.
2.
select substring(email, position('@' IN email) +  1 ) || '/' || substring(email,  1 , position('@' IN email) -  1 ) || '/'  
  FROM users 
 WHERE email='test@domain.ru'
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436748
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SoloikКажется так

Код: plaintext
1.
2.
select substring(email, position('@' IN email) +  1 ) || '/' || substring(email,  1 , position('@' IN email) -  1 ) || '/'  
  FROM users 
 WHERE email='test@domain.ru'
Да, именно так.
Просто оракловый INSTR нужно заменить на PostgreSQL-ный position. :)
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34436761
Бабичев Сергей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще можно strpos для этих целей заюзать (замена INSTR)
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34438480
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
tst=# select split_part(email,'@', 2 )||'/'||split_part(email,'@', 1 )||'/' as new_mail from users;
        new_mail        
------------------------
 mail.ru/antilopagnu/
 mail.ru/haibanerenmei/
 domain.ru/test/
( 4  rows)

tst=# select split_part(email,'@', 2 )||'/'||split_part(email,'@', 1 )||'/' as  new_mail from users where email='test@domain.ru';
    new_mail     
-----------------
 domain.ru/test/
( 1  row)
...
Рейтинг: 0 / 0
СРОЧНО надо перевести MySQL запрос в PGSQL
    #34439056
гр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проще
Код: plaintext
1.
select regexp_replace(email, $$([^@]*)@(.*)$$, $$\ 2 /\ 1 $$) from users
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / СРОЧНО надо перевести MySQL запрос в PGSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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