26 lines
796 B
MySQL
26 lines
796 B
MySQL
-- http://www.williamrobertson.net/documents/one-row.html
|
|
|
|
|
|
--SELECT
|
|
-- LTRIM(MAX(SYS_CONNECT_BY_PATH(c,','))
|
|
-- KEEP (DENSE_RANK LAST ORDER BY curr),',') AS concatenated
|
|
--FROM (
|
|
SELECT
|
|
CHR(TO_NUMBER(SUBSTR(hex,((level-1)*2)+1,2), 'XX')) c
|
|
-- , ROW_NUMBER() OVER (ORDER BY TRUNC((ROWNUM-1)/4)*4+4-MOD(ROWNUM-1,4)) AS curr
|
|
-- , ROW_NUMBER() OVER (ORDER BY TRUNC((ROWNUM-1)/4)*4+4-MOD(ROWNUM-1,4)) -1 AS prev
|
|
FROM (
|
|
SELECT
|
|
UPPER(REPLACE(TRANSLATE('&1',',',' '), ' ', '')) hex
|
|
FROM dual
|
|
)
|
|
CONNECT BY
|
|
SUBSTR(hex,(level-1)*2,2) IS NOT NULL
|
|
-- OR SUBSTR(hex,(level-1)*2,2) != '00'
|
|
ORDER BY
|
|
TRUNC((ROWNUM-1)/4)*4+4-MOD(ROWNUM-1,4)
|
|
--)
|
|
--CONNECT BY prev = PRIOR curr AND curr < 10
|
|
--START WITH curr = 1
|
|
/
|