我有一个问题,我的表存储日期为
2009-01-10 10:00:00.000
Run Code Online (Sandbox Code Playgroud)
我有另一个表存储日期为
2009-01-10 12:00:00.000
Run Code Online (Sandbox Code Playgroud)
我知道它们不一样但是日期是,在SQL中是否可以轻松地缩短时间并保留比较日期?谢谢.
这本来是一个关于如何实现这个问题的问题,因为我被困在某一部分,但我现在很好奇为什么这首先发生了.如果时间没有差别,我只需要比较日期而不是时间,这不是问题.下面的代码显示了我最初尝试的查询
SELECT *
FROM Employee e
inner join OT_Hours o on o.Emp_ID=e.Emp_ID
inner join Position p on p.Position_ID=e.Position_ID
inner join Signup_Sheet s on s.Employee_ID=e.Emp_ID
WHERE e.Eligible_OT=1 and s.Day_Shift = 1
and p.Position_Name = 'Controller'
and Convert(Varchar(20),s.Date,101) = '07/26/2010'
and Convert(Varchar(20),o.Date,101) <='07/26/2010'
and Convert(Varchar(20),o.Date,101) > '07/26/2009'
and o.Quantity NOT IN(0.3) order by o.Date DESC
Run Code Online (Sandbox Code Playgroud)
当我运行该查询时,我没有得到任何结果,但当我删除第二行后,它将返回12个结果(<=),当我删除第3个最后一行但保留第二个最后一行时,它将返回6个结果(>).在查看数据后,我可以看到应该返回其中4个结果.现在为了奇怪的部分.以下是我目前使用的代码.
SELECT DISTINCT o.Date, e.Emp_ID as Emp_ID, e.First_Name+ ' ' +e.Last_Name as Name, o.Quantity as Sum
FROM Employee e
left join OT_Hours o on o.Emp_ID=e.Emp_ID
left join …Run Code Online (Sandbox Code Playgroud) 我想在sql2005中保存我的日期作为日期(没有小时分钟和秒).我想这样做是因为如果填写小时,分钟和秒,则between函数并不总是正确的.
但是datetime和smalldatetime都不允许这样做,在2008年你有Date列可以做到这一点.
我也发现这个问题可以帮助我,但我不喜欢执行查询的转换:如何删除日期时间值(SQL Server)的时间部分?
这是我用来获取HH:MM字符串的内容:
CONVERT(varchar(5), time_requested, 108)
Run Code Online (Sandbox Code Playgroud)
我在想可能有一种更优雅的方式,甚至可能更有效(请参阅有关如何删除日期时间值的时间部分(SQL Server)?)的类似问题。
要求:
time_created与诸如 之类的字段连接起来date_created)。HH:MM和HH:MM:SS.我在SQL中有一个DateTime类型的变量.只需要将Date作为其中的一部分.
请帮忙?
我有一个表格,可以将访问者注册到网站.我想算一下每天有多少人访问过我的网站.

我的问题是我无法弄清楚如何对日期时间值进行类型转换,以便在进行明确计数时不使用整个日期字段.
有谁能解释一下?