sql >> Databasteknik >  >> RDS >> Sqlserver

använd 'mellan' med varchar (sql-server)

Ja, beroende på vad du menar med förväntat beteende. BETWEEN-operatören kommer att behandla dessa operander som varchar och tillämpa sina jämförelseregler i enlighet därmed:

Nu kan jag se många potentiella problem, jämföra strängar och förvänta mig datumjämförelsebeteende. Jag har inte sett några i mina tester, men titta noga på dina uppgifter. Returnerar CONVERT 24-timmarstiden, med lämpliga inledande nollor?

Den här frågan har några andra metoder för att jämföra datumlösa tider, förutom att konvertera dem till varchars.

Håll även utkik efter nolldatum, vilket gör att motsvarande WHERE-villkor returnerar falskt (faktiskt okänt).

I din andra fråga angav du att du fick ett felmeddelande. Om så är fallet, kan du lägga upp det?



  1. hibernate + mysql + ladda data i filen

  2. Fråga MySQL med IN-klausul med PHP

  3. Infoga från en enda tabell i flera tabeller samtidigt som databasen normaliseras

  4. Anslutningspool med hjälp av pg-löfte