Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Сравнението на низове е неуспешно с променлива varchar

Ето отговора:http://sqlfiddle.com/#!6/d41d8/4737

declare @myVar1 varchar = 'Friday'
declare @myVar2 varchar(10) = 'Friday'

select len(@myVar1)as len1,
       len(@myVar2)as len2

Резултатът е:

LEN1       LEN2
1           6

Така че, ако не посочите размер за varchar , SQL Server ще го направи вместо вас. В този случай 1. Винаги трябва изрично да указвате размера.

Лоши навици, които трябва да се откажете:деклариране на VARCHAR без (дължина)




  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 (SSMS)

  2. NOT IN срещу NOT EXISTS

  3. Функция на SQL Server ROUND():За какво е и защо трябва да ви е грижа?

  4. За да получите дата от datetime в sql

  5. SQL Server отчита броя на отделните стойности във всяка колона на таблица