如何返回串B用正重複爲每個字符變量在串A其中變量是炭的字符串中SQL:如何返回串B具有n重複變量字符串中的A中的每個字符,其中變量是炭的字符串中的位置
對於實施例位置:
- 如果我的字符串A爲」 SQL 「
- 我所需要的答案是」 S1Q2L3 「爲串B
- 如果我的字符串A是」 字符串」
- 然後我需要的答案是 「S1t2r3i4n5g6」 爲串B
所以該變量變化對於每個重複
我需要這個在Sql計算。
由於提前
如何返回串B用正重複爲每個字符變量在串A其中變量是炭的字符串中SQL:如何返回串B具有n重複變量字符串中的A中的每個字符,其中變量是炭的字符串中的位置
對於實施例位置:
所以該變量變化對於每個重複
我需要這個在Sql計算。
由於提前
試試這個..
DECLARE @STR VARCHAR(10)='HELLO',
@Index int=1,
@TotalLength int,
@NewStr varchar(20)='';
SET @TotalLength = LEN(@STR);
WHILE (@Index < @TotalLength+1)
BEGIN
SET @NewStr= @NewStr + (SUBSTRING(@STR,@Index,1)+ CAST(@Index as varchar(2)));
SET @[email protected]+1;
END
SELECT @NewStr;
謝謝,你幫了我很多男人,這是我想要的,再次感謝 –
對於Oracle(如DMBS不詳):
SELECT
LISTAGG(to_char(strings),'') WITHIN GROUP (ORDER BY rowno) FROM
(
SELECT REGEXP_SUBSTR(regexp_replace('STRINGABCXYZ', '(.)', '\1,'), '[^,]+', 1, lvl)
|| row_number() OVER (ORDER BY NULL) as strings
,row_number() OVER (ORDER BY NULL) AS rowno
FROM DUAL,
(SELECT LEVEL lvl
,regexp_replace('STRINGABCXYZ', '(.)', '\1,') as text
FROM DUAL
CONNECT BY LEVEL <= LENGTH(regexp_replace('STRINGABCXYZ', '(.)', '\1,'))
- LENGTH(REPLACE(regexp_replace('STRINGABCXYZ', '(.)', '\1,'),',')))
) innerquery
謝謝.......... ............ –
你可以試試這個是在你的代碼比sql –
「我需要在Sql中進行計算。」 - 這聽起來像是你已經決定解決問題的一些問題,其中第一部分就是你在這裏問的問題,第二部分是另一個計算。我不禁想知道,如果您告訴我們整體問題是什麼,我們是否會做得更好,因爲我無法想到很多情況下,問題的正確解決方案(部分)是您所問的這裏。 –
您正在使用哪些DBMS? – Dibstar