sql >> Databáze >  >> RDS >> Sqlserver

Nahraďte znak null v řetězci v sql

Trik, který funguje, je SEŘADIT svou hodnotu do Latin1_General_BIN před použitím REPLACE a také použijte nchar(0x00) COLLATE Latin1_General_BIN pro vzor_řetězce .

REPLACE ( string_expression , string_pattern , string_replacement )

 select 
 [Terminated]      =          N'123' + nchar(0) + N'567'                                
,[Replaced with -] = REPLACE((N'123' + nchar(0) + N'567') COLLATE Latin1_General_BIN
                                          , nchar(0x00) COLLATE Latin1_General_BIN 
                                                 ,'-')      
,[Removed]        = REPLACE((N'123' + nchar(0) + N'567') COLLATE Latin1_General_BIN
                                    , nchar(0x00)      COLLATE Latin1_General_BIN
                                            ,'')    

Zde je výsledek (použijte Output To Text):

Contains   Replaced with -   Removed
---------- ----------------- --------
123 567    123-567           123567


  1. Resetujte hodnotu sekvence na 1

  2. Přesný rozdíl mezi klientem Oracle a databází Oracle

  3. Jak mysql definuje DISTINCT() v referenční dokumentaci

  4. Připojte se k databázi MySQL v místní síti