alter PROCEDURE [dbo].[select_User_attendance_master_Date]
(
@From_date NVarchar(100),
@To_date NVarchar(100)
)
as
begin
select
Employee_Attendace_Code,
Convert(varchar(11),Employee_Attendance.Attendance_day,106) as Attendanceday
from Employee_Attendance
(Convert(varchar(11),Employee_Attendance.Attendance_day,106) between '%'+@From_date+'%'
AND '%'+@To_date+'%')
end
这个查询不起作用它在Attendance_day值中没有任何结果,例如2013-11-28
答案 0 :(得分:1)
请重新考虑您的问题。 LIKE非常适合在弦乐上操作,但是日期不好用。 根据您的数据,它可以返回日期大于日期。
尝试使用日期/日期时间变量,如果您将日期作为字符串接收,请将该日期转换为日期/日期时间数据类型,并将这些值放在中间。
如果可以,请将日期参数作为日期/日期时间类型接收。
答案 1 :(得分:0)
我相信你在找这个?
您错过了WHERE
子句,我更正了您选择的第一列的拼写错误。
ALTER PROCEDURE [dbo].[select_User_attendance_master_Date]
(
@From_date NVarchar(100),
@To_date NVarchar(100)
)
AS
BEGIN
SELECT
Employee_Attendance_Code,
Employee_Attendance.Attendance_day as Attendanceday
FROM Employee_Attendance
WHERE Employee_Attendance.Attendance_day BETWEEN @From_date AND @To_date
END