use*_*034 1 sql sql-server sql-server-2000
我试图找出一种方法来更新/替换两个字符串之间的文本.
例如,我需要能够更新字段并仅替换以下脚本标记之间的内容,而不会触及打开脚本标记之前的文本.
I want to keep this string<script type="text/javascript" language="javascript">********</script>
Run Code Online (Sandbox Code Playgroud)
我认为REPLACE不会起作用,因为脚本标签之间的文本会有所不同.是否有某种类型的通配符?
UPDATE Products_Joined
SET TechSpecs = REPLACE (CAST(TechSpecs AS NVARCHAR(MAX)), '<script type="text/javascript" language="javascript">********</script>', '<script type="text/javascript" language="javascript">new text</script>' )
Run Code Online (Sandbox Code Playgroud)
更新:使用@Parkyprg回答这有效,但不会替换结束</script>标记.我最终得到了这个.
I want to keep this string new text</script>
Run Code Online (Sandbox Code Playgroud)
我们如何删除结束脚本标记?
UPDATE Products_Joined
SET TechSpecs = REPLACE(CAST(TechSpecs AS NVARCHAR(MAX)),
SUBSTRING(CAST(TechSpecs AS NVARCHAR(MAX)),
CHARINDEX('<script type="text/javascript" language="javascript">',TechSpecs),
CHARINDEX('</script>',CAST(TechSpecs AS NVARCHAR(MAX))) -
CHARINDEX('<script type="text/javascript" language="javascript">',TechSpecs)
),' new text')
Run Code Online (Sandbox Code Playgroud)
DECLARE @OpenTag varchar(100)
SET @OpenTag = '<script type="text/javascript" language="javascript">'
UPDATE Products_Joined
SET TechSpecs = STUFF(TechSpecs ,
CHARINDEX(@OpenTag, TechSpecs ,1) + LEN(@OpenTag),
CHARINDEX('</script>',TechSpecs ,1)-(CHARINDEX(@OpenTag, TechSpecs ,1) + LEN(@OpenTag)),
'New Text')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8593 次 |
| 最近记录: |