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

Jak wstawić ciąg zawierający pojedyncze lub podwójne cudzysłowy

Jeśli używasz prawidłowo sparametryzowanych instrukcji , nie musisz się tym martwić. Coś takiego (choć proszę nie ucz się ode mnie technik C#):

string sql = @"UPDATE dbo.table SET col = @p1 WHERE ...;";
string myString = @"hello'foo""bar";

SqlCommand cmd = new SqlCommand(sql, conn);
cmd.CommandType = CommandType.Text;
SqlParameter p1 = cmd.Parameters.AddWithValue("@p1", myString);
cmd.ExecuteNonQuery();

(Chociaż naprawdę powinieneś używać procedur składowanych).

Jeśli budujesz swoje ciągi ręcznie (czego naprawdę, naprawdę, naprawdę nie powinieneś robić), musisz uciec od ograniczników ciągów, podwajając je:

INSERT dbo.tbl(col) VALUES('hello''foo"bar');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy jest jakaś różnica między DECIMAL i NUMERIC w SQL Server?

  2. Jak działa FOR XML PATH('') podczas łączenia wierszy

  3. Import SQL XML:oczekiwano XQuery [wartość()]:)

  4. Krzyżowe połączenie SQL Query

  5. Jak znaleźć różnicę między dwoma ciągami w SQL?