日期:2014-05-18  浏览次数:20624 次

sql比较时间时,string s="select * frow t where time>'2011-1-1'"可以去掉里面的单引号吗?
string s="select * frow t where time>'2011-1-1'"与下面的

string s="select * frow t where time>"+"2011-1-1"是不是同一个意思?第二条语句拼接时,后面的时间格式也要双引号吗?

------解决方案--------------------
探讨
string s="select * frow t where time>'2011-1-1'"与下面的

string s="select * frow t where time>"+"2011-1-1"是不是同一个意思?第二条语句拼接时,后面的时间格式也要双引号吗?

------解决方案--------------------
2011年到2012年?应该是2011-01-01 --> 2012-12-31

可直接写为:select * from t where datepart(yy,time) between 2011 and 2012

如果是2011-01-01 --> 2011-12-31

可直接写为:select * from t where datepart(yy,time) = 2011

------解决方案--------------------
探讨
string s="select * frow t where time>'2011-1-1'"与下面的

string s="select * frow t where time>"+"2011-1-1"是不是同一个意思?第二条语句拼接时,后面的时间格式也要双引号吗?

------解决方案--------------------
探讨

引用:

2011年到2012年?应该是2011-01-01 --> 2012-12-31

可直接写为:select * from t where datepart(yy,time) between 2011 and 2012

如果是2011-01-01 --> 2011-12-31

可直接写为:select * from t where datepart……

------解决方案--------------------
字符串要加单引号啊,如果是数字,可以不加单引号,加了也不影响,数据库会隐式转换为int型,但是字符串不加引号,隐式转换不过去,会报错。
你的第二句或许不会报错,但是查询结果不对
放到数据库里执行起来就是select * frow t where time>2009=(2011-1-1)
------解决方案--------------------
通过以上几楼看来,lz必须还得多加强点sql学习,在mssql中,dd不就是day的简写?yy不就是year的简写?等等
------解决方案--------------------
from 怎么楼上都写成了frow?