0

XML以外のすべての文字、つまり文字を削除できるSQLクエリを探しています

#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] 

私の列から。

http://www.simple-talk.com/sql/t-sql-programming/tsql-regular-expression-workbench/を使用して、ユーザー定義関数を置き換える正規表現を作成できます。しかし、xml 以外の文字を見つけるための正規表現を書くのに苦労しています。SQL Server 2008 を使用しています。

4

1 に答える 1

0
[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF]

どうやってそこにたどり着いたのですか?

  • .net 正規表現エンジンでは、Unicode 文字を \uxxxx としてエンコードできます

  • ^ を置くと、そのリストにないすべてのものと一致することを意味する否定文字クラスを作成します (これが必要だと思いますが、質問からは 100% 明確ではありませんでした)。

これらの一致を空の文字列に置き換えると、「不正な」文字が除外されます。

于 2012-06-14T21:32:45.033 に答える