问题描述
我有表值
Berdasarkan waktu <span id="c__0_3228" class="ctext" title="Klik untuk mengedit kata">**penyelenggaraan**</span> pameran bisa dibedakan menjadi 3 jenis,berikut adalah jenis jenis pameran berdasarkan waktu. Simak dengan baik!
和
- 我要删除
<span> to </span>
- 只想离开 penyelenggaraan
结果之后: Berdasarkan waktu penyelenggaraan pameran bisa dibedakan menjadi 3杰尼斯,贝里库特·阿达拉·杰尼斯·詹妮斯·帕梅兰berdasarkan waktu。 Simak dengan baik!
- 这里的id,class或title值都不同。
该查询也适用于
<span id="example123">**EXAMPLE123**</span>
解决方法
这将满足您的需求。
SET
仅用于设置变量,以便我们可以使用它。您可以只使用字段本身。
POSITION()函数返回字符串中第一次出现子字符串的位置。
在这种情况下,POSITION()
在>**
变量中找到**<
和@fieldval
的位置以提取数据。 + 3
和- 3
将考虑我们在POSITION()
中寻找的多余字符。
MID()提取两个POSITION()
之间的所有内容。
SET @fieldval = "Berdasarkan waktu <span id=c__0_3228 class=ctext title=Klik untuk mengedit kata>**penyelenggaraan**</span> pameran bisa dibedakan menjadi 3 jenis,berikut adalah jenis jenis pameran berdasarkan waktu. Simak dengan baik!";
SELECT MID(@fieldval,POSITION(">**" IN @fieldval) + 3,POSITION("**<" IN @fieldval) - POSITION(">**" IN @fieldval) - 3);
,
您可以首先获取要删除的字符串的开始和结束索引。您可以使用以下SELECT语句获取索引:
SELECT CHARINDEX("<span",col_name,0) as start_ind,CHARINDEX("</span>",0) as end_ind FROM table_name
请记住,上面的语句将为您提供“
UPDATE table_name set col_name = SUBSTRING(col_name,start_ind) + SUBSTRING(col_name,end_index + 1,LEN(col_name) - end_ind) WHERE <condition>