SELECT student.student_id, student.student_name,
student.student_number, cast(student.birthday as datetime) as New_birthday,
sms_user_order.order_mobile, sms_user_order.order_time,
sms_user_order.unorder_time
FROM student CROSS JOIN
sms_user_order
WHERE (IsDate(cast(student.birthday as datetime)) > 0) AND (MONTH(cast(student.birthday as datetime))
= MONTH(GETDATE())) AND (DAY(cast(student.birthday as datetime)) = DAY(GETDATE())) AND
(CHARINDEX(',' + RTRIM(student.student_id) + ',',
',' + sms_user_order.service_students + ',') > 0) AND
(sms_user_order.order_state = '2')
运行时,报“从字符串转换为 datetime 时发生语法错误。”
可我把datetime转换单独列成一个表,然后从这个表来查询数据就没有问题了,这是什么问题啊?郁闷!我只想用一个Select就行了,不想再建个临时表之类的
student.student_number, cast(student.birthday as datetime) as New_birthday,
sms_user_order.order_mobile, sms_user_order.order_time,
sms_user_order.unorder_time
FROM student CROSS JOIN
sms_user_order
WHERE (IsDate(cast(student.birthday as datetime)) > 0) AND (MONTH(cast(student.birthday as datetime))
= MONTH(GETDATE())) AND (DAY(cast(student.birthday as datetime)) = DAY(GETDATE())) AND
(CHARINDEX(',' + RTRIM(student.student_id) + ',',
',' + sms_user_order.service_students + ',') > 0) AND
(sms_user_order.order_state = '2')
运行时,报“从字符串转换为 datetime 时发生语法错误。”
可我把datetime转换单独列成一个表,然后从这个表来查询数据就没有问题了,这是什么问题啊?郁闷!我只想用一个Select就行了,不想再建个临时表之类的
取当天生日的学生直接判断Birthday IS NOT NULL跟日期匹配,
不用转来转去