単一のテーブルからデータを表示しようとしている SELECT ステートメントがあります。データは HTML タグ (<p>
および</p>
) によってカプセル化されます。たとえば、あるフィールドには次のように表示されます。
<p>Lorem Ipsum</p>
最初の 3 文字と最後の 4 文字を割り引くように SELECT ステートメントに指示するにはどうすればよいですか?
SELECT SUBSTRING(data, 4, LENGTH(data)-7)
例のように、すべてのデータの開始タグが 1 つだけで、終了タグが 1 つだけの場合は、次のように使用できます。
select
case when instr(data, '</')>instr(data, '>') then
substring(data, instr(data, '>')+1,instr(data, '</')-instr(data, '>')-1)
else
data
end as stripped_data
from
your_table
これにより、次のような一致しないタグも削除されることに注意してください<p>Lorem Ipsum</strong>