Sql server SQL Server-从varchar中删除HTML标记
我知道这里有一些类似的话题,但我找不到与我的问题相关的,这就是: 我有一个带有ID列和QRCode列的表。每次添加项目时,主键自动递增。QRCode将按如下方式扫描: 我希望能够从字符串中删除,我知道如何在C中执行此操作,但是我不确定如何在Sql Server中执行此操作。任何指导都很好,谢谢 常规格式如下所示,并在下面的示例中使用Sql server SQL Server-从varchar中删除HTML标记,sql-server,Sql Server,我知道这里有一些类似的话题,但我找不到与我的问题相关的,这就是: 我有一个带有ID列和QRCode列的表。每次添加项目时,主键自动递增。QRCode将按如下方式扫描: 我希望能够从字符串中删除,我知道如何在C中执行此操作,但是我不确定如何在Sql Server中执行此操作。任何指导都很好,谢谢 常规格式如下所示,并在下面的示例中使用 "http://somewebsite.com/12345/456564654" "http://somewebsite.com/12345/989886765"
"http://somewebsite.com/12345/456564654"
"http://somewebsite.com/12345/989886765"
"http://somewebsite.com/12346/987654321"
查询返回以下结果:
SELECT
REPLACE
(
REPLACE(QRCode, 'http://somewebsite.com/', '')
,'/', ' '
) AS QRCode
FROM
QRTable
WHERE
QRCode LIKE '%http://somewebsite.com/%'
123454564654
12345 989886765
12346987654321
现在我需要用这些新结果更新表,但是由于有3个结果,我得到错误消息子查询返回了超过1个值。是否有方法将表中的选定值替换为基于主键字段存在的值?**已删除上一示例 根据您更新的问题提供更完整的答案。这将删除URL的第一部分以及尾随的/以便获得所需的输出
DECLARE @Variable VARCHAR(50)
SET @Variable = 'http://somewebsite.com/12345/456564654'
SET @Variable =
REPLACE
(
REPLACE(@Variable, 'http://somewebsite.com/', '')
,'/', ' '
)
PRINT @Variable
输出=123456564654
查看您的SQL语句,您希望:
SELECT
REPLACE
(
REPLACE(QRCode, 'http://somewebsite.com/', '')
,'/', ' '
) AS QRCode
FROM
QRTable
WHERE
QRCode LIKE '%http://somewebsite.com/%'
但是如何检测字符串中的部分,使其不重命名列中的所有值呢?在这种情况下,更好的示例可能是:选择replaceQRCode,'http://somewebsite.com/'作为LocalPath,表where条件中的其他列。同样值得注意的是,它不会替换整个字符串:它类似于string.replace。但是它是否总是somewebsite.com/或者它也可以是另一个website.com?因为这样做是行不通的。根据他们的问题,这是或者至少是给人这样的印象。显然,上面的例子没有处理要替换的不同URL,但是OP没有请求它。总是一些网站。。。。虽然如果可能的话,在“http”和final/之间实现通用性将非常好。当我尝试设置变量时,上面的答案返回了这个错误:必须声明标量变量@Varaible。你能给QRCodefield更多的例子吗?它会是url/numbers/numbers这样的常规格式吗?SELECT*通常是一种不好的做法,可能还需要显式地选择列。update语句是什么样子的?