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

użyj 'pomiędzy' z varchar (serwer sql)

Tak, w zależności od tego, co rozumiesz przez oczekiwane zachowanie. Operator BETWEEN będzie traktował te operandy jako varchary i odpowiednio zastosuje swoje reguły porównania:

Teraz widzę wiele potencjalnych problemów, porównując ciągi i spodziewając się zachowania porównania dat. Nie widziałem żadnych w moich testach, ale przyjrzyj się uważnie swoim danym. Czy funkcja CONVERT zwraca czas 24-godzinny z odpowiednimi zerami wiodącymi?

To pytanie ma inne podejścia do porównywania czasów bez dat, inne niż konwertowanie ich na varchary.

Zwróć także uwagę na daty null, co spowoduje, że odpowiedni warunek WHERE zwróci wartość false (w rzeczywistości nieznaną).

W drugim pytaniu wskazałeś, że otrzymujesz błąd. Jeśli tak, czy możesz to opublikować?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak sformatować getdate na RRRRMMDDGGmmSS

  2. LINQ to SQL:zbyt duże użycie procesora:co się dzieje, gdy jest wielu użytkowników

  3. Czy klucz obcy poprawia wydajność zapytań?

  4. MS SQL Server 2008 :Pobieranie daty rozpoczęcia i zakończenia tygodnia do następnych 8 tygodni

  5. Jak znaleźć nazwę serwera dla SQL Server 2005