Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / СРОЧНО надо перевести MySQL запрос в PGSQL / 11 сообщений из 11, страница 1 из 1
04.04.2007, 11:12
    #34436511
Soloik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Есть запрос для MySql
SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='test@domain.ru'
Надо срочно привести к PostGresql (помогайте стоит mail сервер)
...
Рейтинг: 0 / 0
04.04.2007, 11:19
    #34436541
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Код: plaintext
1.
2.
SELECT replace(email,'@','/')
  FROM users 
 WHERE email='test@domain.ru'
...
Рейтинг: 0 / 0
04.04.2007, 11:22
    #34436558
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Бабичев Сергей
Код: 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
04.04.2007, 11:24
    #34436572
Soloik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Бабичев Сергей
Код: 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
04.04.2007, 11:25
    #34436584
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
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
04.04.2007, 11:31
    #34436622
Soloik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Бабичев Сергей 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
04.04.2007, 11:48
    #34436732
Soloik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Кажется так

Код: 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
04.04.2007, 11:50
    #34436748
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
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
04.04.2007, 11:52
    #34436761
Бабичев Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Еще можно strpos для этих целей заюзать (замена INSTR)
...
Рейтинг: 0 / 0
04.04.2007, 18:07
    #34438480
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Ну и как вариант:
Код: 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
05.04.2007, 03:27
    #34439056
гр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
СРОЧНО надо перевести MySQL запрос в PGSQL
Проще
Код: plaintext
1.
select regexp_replace(email, $$([^@]*)@(.*)$$, $$\ 2 /\ 1 $$) from users
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / СРОЧНО надо перевести MySQL запрос в PGSQL / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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