首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

datetime转换有关问题

2012-02-10 
datetime转换问题SELECTstudent.student_id,student.student_name,student.student_number,cast(student.b

datetime转换问题
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就行了,不想再建个临时表之类的

[解决办法]
Birthday用Date类型,如果不填入时间或者错误时间时为NULL
取当天生日的学生直接判断Birthday IS NOT NULL跟日期匹配,
不用转来转去

热点排行