【发布时间】:2012-09-25 19:30:04
【问题描述】:
我正在编写一个查询来查找/替换一个有明确的开始和结束的模式,中间有通配符。这是原始网址:
"></title><script src="http://www.weblearn.edu"></script><!--
这是结果:
cript src="http://www.weblearn.edu"></script><!--
-- 这是期望的结果: (无字符或空格)
-- 我怎样才能更换整个东西?感谢您的帮助。
SELECT
CASE
WHEN PATINDEX('">%http%<!--', AcademicDishonestyDesc) > 0 THEN
STUFF(AcademicDishonestyDesc, PATINDEX('">%http%<!--', AcademicDishonestyDesc), LEN('">%http%<!--'), '')
END
FROM AMS_CoursePolicyAcademicDishonesty
WHERE PATINDEX('">%http%<!--', AcademicDishonestyDesc) > 0
GO
【问题讨论】:
-
你向我们展示了你现在得到的结果,你能展示你真正想要的结果吗? (我们不知道“整个事情”是什么意思。)您似乎试图进行的替换会导致 HTML 无效。
-
谢谢。我实际上是在尝试用“nothing”替换整个字符串(原始 URL),因为这些 URL 是我们旧服务器上 SQL 注入的结果。 URL 后面还有其他数据,我想保留这些数据。
-
好的,我的问题仍然存在:您可以编辑问题以显示替换后字符串的外观(而不是显示当前查询的功能)吗?
标签: sql-server patindex