пожалуйста, найдите ниже код для справки. В настоящее время я могу достичь своих результатов с MS SQL Server, но, к сожалению, база данных переходит на Netezza. Поэтому я хотел бы перенести несколько строковых функций.
Использование MS SQL Server
DECLARE @Word varchar(10) = 'NKA';
DECLARE @Work VARCHAR(250),
@ResultVar VARCHAR(250);
SET @Work = 'NKdab marathi';
set @ResultVar = (SELECT SUBSTRING(V.S,CIw.I, ISNULL(NULLIF(CIs.I,0),LEN(V.S)+1) - CIw.I)
FROM (VALUES(@Work)) V(S)
CROSS APPLY (VALUES(CHARINDEX(@Word,V.S))) CIw(I)
CROSS APPLY (VALUES(CHARINDEX(' ',V.S,CIw.I))) CIs(I) );
select @ResultVar
RETURN @ResultVar END
Результаты как,
NKdab
Здесь функции Cross Apply и VALUES не существуют. Нужна ваша помощь, чтобы понять вещи.
Использование Netezza
Ниже код, который я попробовал со своей стороны в Netezza. Я импортировал данные в netezza через csv, поэтому имена столбцов будут такими же
SELECT t1.[NK CODE],
t2.[NK CODE] AS col_last52wks,
t1.[NK CODE]
FROM [ABC] t1
INNER JOIN [ABC] t2
ON t2.SrNo BETWEEN (t1.SrNo ) AND t1.SrNo
Помощь оценена.
С уважением,
niHar