将提取文本的Excel公式转换为SQL查询,实现PRODSUMMARY字段内容提取
Excel逻辑转SQL实现方案
以下方案完全对齐你的提取规则:先截取SOURCED FROM INTERNAL MONITORING SYSTEM之前的内容,再提取该部分最后一个冒号(即你要求的目标行第二个冒号)后的文本,去除首尾空格即为结果。
MySQL 实现
SELECT TRIM( SUBSTRING_INDEX( LEFT(PRODSUMMARY, LOCATE('SOURCED FROM INTERNAL MONITORING SYSTEM', PRODSUMMARY) - 1), ':', -1 ) ) AS incident_content FROM 你的表名;
PostgreSQL 实现
SELECT TRIM( SPLIT_PART( LEFT(PRODSUMMARY, STRPOS(PRODSUMMARY, 'SOURCED FROM INTERNAL MONITORING SYSTEM') - 1), ':', -1 ) ) AS incident_content FROM 你的表名;
SQL Server 实现
SELECT LTRIM(RTRIM( RIGHT( LEFT(PRODSUMMARY, CHARINDEX('SOURCED FROM INTERNAL MONITORING SYSTEM', PRODSUMMARY) - 1), LEN(LEFT(PRODSUMMARY, CHARINDEX('SOURCED FROM INTERNAL MONITORING SYSTEM', PRODSUMMARY) - 1)) - CHARINDEX(':', REVERSE(LEFT(PRODSUMMARY, CHARINDEX('SOURCED FROM INTERNAL MONITORING SYSTEM', PRODSUMMARY) - 1))) ) )) AS incident_content FROM 你的表名;
内容的提问来源于stack exchange,提问作者John Williams
相关产品推荐
相关产品推荐

