首先orders表的begintime字段为datetime类型,且有条记录的begintime是2006-12-10 20:38:05
用SQL语句:
select * from orders where begintime= Cast('2006-12-10 20:38:05' as datetime )
这句查值为0记录select * from orders where begintime=convert('2006-12-10 20:38:05','YYYY-MM-DD HH:MI:SS')
这句提示错误:'2006-12-10 20:38:05' 附近有语法错误谢谢解答!
用SQL语句:
select * from orders where begintime= Cast('2006-12-10 20:38:05' as datetime )
这句查值为0记录select * from orders where begintime=convert('2006-12-10 20:38:05','YYYY-MM-DD HH:MI:SS')
这句提示错误:'2006-12-10 20:38:05' 附近有语法错误谢谢解答!
create table orders (id smallint identity(1,1),begintime datetime)insert into orders select convert(datetime,'2006-12-10 20:38:05',120)select * from orders
/*结果
2006-12-10 20:38:05.000
*/select * from orders where begintime=convert(datetime,'2006-12-10 20:38:05',120)
/*结果
1 2006-12-10 20:38:05.000
*/
convert(类型,变量,格式)
格式用 120代表yyyy-mm-dd
还有好几个 103 ..类型可以有程度的限制,这样可以转化为日期时间或则是日期
varchar(9)
select * from orders where begintime=convert(datetime,'2006-12-10 20:38:05',120)
可找到插入的数据,而毫秒不为整000的数据用上面这样的SQL语句查询均无法显示。楼上的朋友说120代表yyyy-mm-dd,如果像是我这样带毫秒的数据应该怎么查?还有,如果用
select * from orders where begintime=convert( datetime,'2006-12-10 20:38:05','YYYY-MM-DD HH:MI:SS')这样的SQL语句,sql server提示错误:函数 convert 的参数 3 的数据类型 varchar 无效。