sql >> Databasteknik >  >> RDS >> Sqlserver

SQL LIKE-sats på en DateTime-typ

Du kan använda DATEPART funktion för att extrahera delar av datum. Det bör också göra dina frågor mer tydliga om vad du vill uppnå:

SELECT * FROM MyTable
where DATEPART(year,CheckDate)=2009 and
      DATEPART(month,CheckDate) between 10 and 12

(Det finns också specifikt namngivna funktioner, såsom MONTH och YEAR , men jag föredrar DATEPART för konsekvens eftersom den kan komma åt alla komponenter i en datetime )

Du bör försöka undvika att tänka på datetime s som att ha någon form av strängformat. Att behandla dem som strängar är en av de största felkällorna vi stöter på.



  1. MYSQL:DECIMAL med en noggrannhet på 10 siffror efter kommatecken

  2. Att välja en kolumn som uppfyller många villkor i olika poster

  3. Hur sammanfogar man kolumner i en Postgres SELECT?

  4. Separera MySQL-innehåll via PHP efter land/användarpreferens