sql >> Database >  >> RDS >> Sqlserver

SQL Server datetime LIKE selecteren?

Je zou de DATEPART() functie kunnen gebruiken

SELECT * FROM record 
WHERE  (DATEPART(yy, register_date) = 2009
AND    DATEPART(mm, register_date) = 10
AND    DATEPART(dd, register_date) = 10)

Ik vind deze manier gemakkelijk te lezen, omdat het de tijdcomponent negeert en je de datum van de volgende dag niet hoeft te gebruiken om je selectie te beperken. U kunt naar meer of minder gedetailleerdheid gaan door extra clausules toe te voegen, met behulp van de juiste DatePart-code, bijvoorbeeld

AND    DATEPART(hh, register_date) = 12)

om records tussen 12 en 1 te krijgen.

Raadpleeg de MSDN DATEPART-documenten voor de volledige lijst met geldige argumenten.



  1. Hoe het totale aantal geretourneerde rijen opnemen in de resultatenset van de opdracht SELECT T-SQL?

  2. Cursor verouderde dump

  3. Big data-analyse begrijpen

  4. Unieke beperking op kolom maken voor reeds bestaande tabel - SQL Server / TSQL-zelfstudie, deel 97