powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
18 сообщений из 18, страница 1 из 1
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38092423
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем можно заменить SQL Server-ский REPLACE в TERADATA ?
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38092424
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не смущает что ето форум по мсскл ?
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38092430
Гость333
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока,

SQL Server-ский REPLACE незаменим! Как и сам SQL Server.
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38093330
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость333Бока,

SQL Server-ский REPLACE незаменим! Как и сам SQL Server.неправдв ваша, в Oracle и Postgresql есть такой же REPLACE. а в Teradata, как оказалось, аналогичная функция OREPLACE появилась только в 14-ой версии, а я в 13-ой работаю
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38093334
sho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oreplace
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38093337
sho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
версия 13.10 работает
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38093471
Фотография tpg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это как к MSSQL Server относится?
В какую ветку топик перенести?
Или просто закрыть/удалить?
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38093477
sho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tpg,

в форуме по "другим СУБД" уже есть соответствующий топик, поэтому, имхо, можно удалять

P.S. мимо проходил
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38094201
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shoверсия 13.10 работаетя как раз работаю в 13.10:
Код: sql
1.
select * from dbc.dbcinfo 


Код: plaintext
1.
2.
InfoKey        InfoData 
RELEASE        13.10.03.07 
VERSION        13.10.03.07  [code=plaintext]
LANGUAGE SUPPORT MODE Standard
Попробовал OREPLACE:
Код: sql
1.
2.
3.
4.
5.
select query_id. 
            OREPLACE(query_text,'last_date','current_date') 
from Query_Model 
where query_text like '%last_date%' 
order by 1 


Получил вот что:
Код: plaintext
SELECT Failed. 6810:  The owner expression of the UDM invocation 'OREPLACE' is not a UDT 
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38094222
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока
Код: sql
1.
2.
3.
4.
5.
select query_id. 
            OREPLACE(query_text,'last_date','current_date') 
from Query_Model 
where query_text like '%last_date%' 
order by 1

Так и должно быть? Точка а не запятая?
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38094231
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmБока
Код: sql
1.
2.
3.
4.
5.
select query_id. 
            OREPLACE(query_text,'last_date','current_date') 
from Query_Model 
where query_text like '%last_date%' 
order by 1

Так и должно быть? Точка а не запятая?не заметил, завтра проверю

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38094687
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
invmБока
Код: sql
1.
2.
3.
4.
5.
select query_id. 
            OREPLACE(query_text,'last_date','current_date') 
from Query_Model 
where query_text like '%last_date%' 
order by 1

Так и должно быть? Точка а не запятая?сделал с ",":
Код: sql
1.
2.
3.
4.
5.
select query_id, 
            OREPLACE(query_text,'last_date','current_date') 
from Query_Model 
where query_text like '%last_date%' 
order by 1

получил:

Код: plaintext
SELECT Failed. 3706:  Syntax error: Data Type "query_text" does not match a Defined Type name. 
data type поля query_text - VARCHAR(4000)
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38094748
sho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока,

напиши запрос для проверки типа

Код: sql
1.
select oreplace('a','b','c')
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38094847
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shoБока,

напиши запрос для проверки типа

Код: sql
1.
select oreplace('a','b','c')

выполнил
Код: sql
1.
select oreplace('a','b','c')

получил
Код: plaintext
SELECT Failed. 3706:  Syntax error: expected something between '(' and the string 'a' keyword.
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38095275
sho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока,

у меня release 13.10.03.07
version 13.10.03.08
все работает
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38095319
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shoБока,

у меня release 13.10.03.07
version 13.10.03.08
все работаетпонятно, а у меня:
Код: plaintext
1.
RELEASE        13.10.03.07 
VERSION        13.10.03.07
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38095637
Павел Новокшонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OREPLACE официально заявлена в версии Терадаты 14.0, с целым рядом других оракловых функций для облегчения миграций с Оракла и расширения общего функционала. В 13.10 в TD_SYSFNLIB скорее всего стоит рабочий прототип, который наверное можно использовать, но на свой собственный риск. Такое бывает, когда разработчики СУБД включают в релиз некий функционал, но еще не анонсированный.
...
Рейтинг: 0 / 0
Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
    #38243463
Фотография Станислав Клевцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
otranslate и пример запроса для 13 версии Teradata.


Работает в VERSION 13.
------------------------------------------------------------------------------------------------------------
CREATE SET TABLE DEV_DB.TABLE
(
ID_N INTEGER NOT NULL,
C_TXT VARCHAR(10) CHARACTER SET LATIN NOT CASESPECIFIC
)
UNIQUE PRIMARY INDEX TABLE_UPI ( ID_N );
------------------------------------------------------------------------------------------------------------
INSERT INTO DEV_DB.TABLE (ID_N,C_TXT) VALUES (0,'0091**34/2');
INSERT INTO DEV_DB.TABLE (ID_N,C_TXT) VALUES (1,'1A234-5 6*');
INSERT INTO DEV_DB.TABLE (ID_N,C_TXT) VALUES (2,'2--3*39*#&');
INSERT INTO DEV_DB.TABLE (ID_N,C_TXT) VALUES (3,'3K56M660D.');
INSERT INTO DEV_DB.TABLE (ID_N,C_TXT) VALUES (4,'4WS55K 333');
INSERT INTO DEV_DB.TABLE (ID_N,C_TXT) VALUES (5,'5OP9934A10');
------------------------------------------------------------------------------------------------------------

SELECT ID_N,
SUM(CAST(LETRA AS INTEGER)*10**(RN-1)) (FORMAT 'ZZZZZZZZZ9') ONLY_NUMBERS
FROM (
SELECT a.ID_N,
b.iLETRA,
ROW_NUMBER() OVER (PARTITION BY a.ID_N ORDER BY b.ILETRA DESC) RN,
SUBSTR(a.C_TXT,b.iLETRA,1) LETRA
FROM DEV_DB.TABLE a,
( SELECT day_of_calendar iLETRA
FROM SYS_CALENDAR.CALENDAR
WHERE day_of_calendar < 11 ) b --Longitud de la cadena!!
WHERE LETRA IN ('0','1','2','3','4','5','6','7','8','9') --
AND ID_N =0
) pre
WHERE ID_N =0
GROUP BY ID_N
ORDER BY ID_N

----------------------------------------------------------------------------------------------------
--------
0 91342.0
1 123456.0
2 2339.0
3 356660.0
4 455333.0
5 5993410.0
------------------------------------------------------------------------------------------------------------
Работает в VERSION 14.

select top 100
ID_N
,C_TXT
,otranslate(C_TXT,'`' || otranslate(C_TXT, '`1234567890', '`'), '`')
from DEV_DB.TABLE
------------------------------------------------------------------------------------------------------------
0 91342.0
1 123456.0
2 2339.0
3 356660.0
4 455333.0
5 5993410.0
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Имеется ли в TERADATA аналог SQL Server-ской функции REPLACE ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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