私は2つの文字列間のテキストのみを更新/置換する方法を見つけようとしています。sqlは2つの文字列の間のすべての文字を置換します
たとえば、フィールドを更新して、次のスクリプトタグの間にあるものだけを置き換えて、開始スクリプトタグの前にテキストを残しておく必要があります。
I want to keep this string<script type="text/javascript" language="javascript">********</script>
スクリプトタグの間のテキストが異なるため、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>')
更新日:@Parkyprgでこれは動作しますが、閉じ</script>
タグに代わるものではありません答えます。 私はこれで終わります。
I want to keep this string new text</script>
閉じるスクリプトタグも同様に削除しますか?
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')
チェック[この](http://www.sqlteam.com/article/regular-expressions-in ...最善の解決策ではないかもしれないが、 -t-sql)と[this](http://www.codeproject.com/KB/mcpp/xpregex.aspx)を参照してください。 –
あなたのコードの 'nvarchar(max)'はあなたの質問にある 'sql-server-2000'タグとどのように関連していますか? SQL Server 2000は文字列の 'max'サイズ指定子をサポートしていません。 –
恐らくそれは2000年ではありません。 – user357034