首页 > 解决方案 > 在 SQL 中查找和替换或删除部分字符串

问题描述

我在 sql 中有一个数据集,我想删除数据的某些部分

我在网上搜索过,发现查找和替换可以用于我想要的,但是对 sql 来说是相当新的我不确定我是否正确地接近它

SELECT REPLACE('SQL Tutorial', 'T', 'M');

如何在 MsSQL 中进行简单的“查找和替换”? https://www.w3schools.com/sql/func_sqlserver_replace.asp

为简单起见,这里是数据集的示例

列名用户详细信息: [{value={ "name":"Alice", "id":"69", "status": "active"}}]

我想[{value=从数据的开头和数据}]的结尾删除。最终目标是:

{ "name":"Alice", "id":"69", "status": "active"}

这就是我试图接近它的方式:

SELECT * FROM REPLACE("mytable",'[{value=','');

实际的:[{value={ "name":"Alice", "id":"69", "status": "active"}}]

预期的:{ "name":"Alice", "id":"69", "status": "active"}

标签: mysqlsqldatabasereplace

解决方案


如果您使用SELECT SUBSTR(NAME_OF_THE_COLUMN, 8, LENGTH(NAME_OF_THE_COLUMN)-9) FROM NAME_OF_THE_TABLE,您将删除前 8 个字符和最后 2 个字符,我猜这是所需的结果。


示例:在这里你可以玩它。例子:

在此处输入图像描述


推荐阅读