mysql | 說明 | oracle | 說明 | |
行轉列 | SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(#{keys},',',help_topic_id + 1),',' ,- 1) AS num FROM mysql.help_topic WHERE help_topic_id < LENGTH(#{keys}) - LENGTH(REPLACE (#{keys},',','')) + 1 |
select Regexp_Substr(#{keys}, '[^,]+', 1, level, 'i') from Dual connect by level <= Length(#{keys}) - Length(replace(#{keys}, ',', '')) + 1 |
||
列轉行 | SELECT id,GROUP_CONCAT(keyword SEPARATOR ';') FROM sysuser GROUP BY id | 拼接字符串 可以將將多行合併成一行 | SELECT id, listagg(NAME, ',') within group(order by TYPE) from KNOWLEDGE | 中間用逗號","隔開 |