我是开发新手,想知道在SQL Server中处理日期的专业方法。在我的应用程序中,我们主要处理日期数据类型,而与时间部分无关。还保留了dd/mm/yyyy格式
例如,如果我有一个具有以下结构的表。
EmployeeTable
---------------
emp_id int
emp_name varchar(50)
join_date date 如果我想要在开始日期和结束日期之间查询"join_date“,并传递dd/mm/yyyy作为存储过程条件,并且想要查询。
处理日期的专业方法是什么?我总是在varchar中转换日期,然后进行比较,我想这是不专业的方法。因此,请指导如何在程序中做例子,我将不胜感激。
发布于 2011-01-15 23:13:13
SQL可以很好地处理日期,因此您不需要转换日期。
如果将参数作为date类型传递,则不会有任何问题:
CREATE PROCEDURE myProc
@start date,
@end date
AS
SELECT emp_id, emp_name, join_date
FROM EmployeeTable
WHERE join_date BETWEEN start AND end;发布于 2011-01-15 23:13:33
除非您想以特定的方式格式化输出中的日期,否则没有理由将日期转换为varchar。您使用的是SQL数据类型,所以让date为您进行比较。
如果要比较某个日期范围内的日期,可以使用以下命令:
WHERE join_date BETWEEN '2010-01-01' AND '2010-12-31'发布于 2011-01-15 23:14:38
保留日期作为日期。不要将其转换为字符串。这是不必要的。将日期从代码发送到SQL Server时,请使用参数,这样就不必担心字符串的格式是否正确。
SQL Server Date数据类型:
https://stackoverflow.com/questions/4700271
复制相似问题