Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zamień znak null w ciągu w sql

Sztuczka, która działa, to ZESTAWIENIE wartości z Latin1_General_BIN przed użyciem REPLACE, a także użyj nchar(0x00) SORTUJ Latin1_General_BIN dla string_pattern .

REPLACE ( string_expression , string_pattern , zastąpienie_ciągu )

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

Oto wynik (użyj opcji Wyjście na tekst):

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2005 — ustawianie kolumny jako tylko do odczytu

  2. Odpowiedni indeks serwera SQL do wstawiania samego schematu

  3. Zapytanie SQL do wyboru dat między dwiema datami

  4. Logowanie nie powiodło się dla użytkownika „URZĄDZENIE NT\LOGOWANIE ANONIMOWE” Możliwy problem z ciągiem połączenia?

  5. Jak utworzyć warunkową klauzulę WHERE?