Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
rnelsch
Starting Member
31 Posts |
Posted - 2012-04-25 : 15:50:18
|
| Its been years since I've written a query to include a date but ignore the time. Out field has both date and time built in, ie. 4/25/2012 9:11:42 AM and I want to run a query using the "Where" clause for the date but not the time? Any suggestions?Ryan A Nelsch |
|
|
Lamprey
Master Smack Fu Yak Hacker
4614 Posts |
Posted - 2012-04-25 : 17:02:14
|
Assuming you want all rows with a date equal to 2012-04-25, then something like:SELECT *FROM TableNameWHERE DateTimeColumn >= '20120425'AND DateTimeColumn < '20120426' |
 |
|
|
sql-programmers
Posting Yak Master
190 Posts |
Posted - 2012-04-25 : 23:13:55
|
| Hi,DECLARE @STARTDATE DATETIME = '4/25/2012 9:11:42 AM'DECLARE @ENDDATE DATETIME = '4/26/2012 9:11:42 AM'SELECT @STARTDATE, @ENDDATESELECT CONVERT(VARCHAR, @STARTDATE, 112), CONVERT(VARCHAR, @ENDDATE, 112)FROM TableNameWHERE CONVERT(VARCHAR, DateTimeColumn, 112) >= CONVERT(VARCHAR, @STARTDATE, 112)AND CONVERT(VARCHAR, DateTimeColumn, 112) < CONVERT(VARCHAR, @ENDDATE, 112)SQL Server Programmers and Consultantshttp://www.sql-programmers.com/ |
 |
|
|
khtan
In (Som, Ni, Yak)
17689 Posts |
Posted - 2012-04-25 : 23:24:44
|
quote: Originally posted by sql-programmers
WHERE CONVERT(VARCHAR, DateTimeColumn, 112) >= CONVERT(VARCHAR, @STARTDATE, 112)AND CONVERT(VARCHAR, DateTimeColumn, 112) < CONVERT(VARCHAR, @ENDDATE, 112) SQL Server Programmers and Consultantshttp://www.sql-programmers.com/
Applying function on the column will result in the engine not able to utilize any index on the DateTimeColumn.The method posted by Lamprey is recommended. KH[spoiler]Time is always against us[/spoiler] |
 |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
|
|
|
|
|
|
|