sql >> データベース >  >> RDS >> Sqlserver

特殊文字を含める XML パス式

    これを ASCII 文字 0 ~ 255 でテストしたところ、次の文字でこのエラーが発生することがわかりました:0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000B, 0x000C, 0x000E, 0x000F, 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F .

    1 つの回避策は、, TYPE を削除することです。 XML ステートメントから。

    もう 1 つの方法は、select ステートメントでこれらの文字を削除することです:

    REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
    REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
    REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
    REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
    REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( 
    REPLACE( REPLACE( REPLACE( REPLACE( 
        < YOUR EXPRESSION TO BE CLEANED >
    ,char(0x0000),'') ,char(0x0001),'') ,char(0x0002),'') ,char(0x0003),'') ,char(0x0004),'') 
    ,char(0x0005),'') ,char(0x0006),'') ,char(0x0007),'') ,char(0x0008),'') ,char(0x000B),'') 
    ,char(0x000C),'') ,char(0x000E),'') ,char(0x000F),'') ,char(0x0010),'') ,char(0x0011),'') 
    ,char(0x0012),'') ,char(0x0013),'') ,char(0x0014),'') ,char(0x0015),'') ,char(0x0016),'') 
    ,char(0x0017),'') ,char(0x0018),'') ,char(0x0019),'') ,char(0x001A),'') ,char(0x001B),'') 
    ,char(0x001C),'') ,char(0x001D),'') ,char(0x001E),'') ,char(0x001F),'')
    

    これらの replace ステートメントを使用して関数を作成することもできます。



    1. MySQLプライマリIDまたは日付フィールドのない最後に挿入されたレコードを選択します

    2. Mysql配列が機能しない

    3. MYSQLストアドプロシージャから複数の結果セットを返す

    4. Ansibleロールを使用したMySQLデプロイメントの概要