sql >> Database >  >> RDS >> Sqlserver

Vervang null-teken in een tekenreeks in sql

De truc die werkt, is om uw waarde te VERZAMELEN naar Latin1_General_BIN voordat u REPLACE gebruikt en ook nchar(0x00) COLLATE Latin1_General_BIN gebruikt voor string_pattern .

VERVANG ( 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
                                            ,'')    

Hier is het resultaat (gebruik Uitvoer naar tekst):

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


  1. Een parameterquery maken in Access

  2. De resultaten van een kolom omzetten in een enkele rij

  3. Swift httppost-gegevens worden niet in de MySQL-database ingevoegd

  4. Geef een schemanaam en tabelnaam dynamisch door in FROM in een selectiequery in Postgres