如何比较日期

wufan18 2008-07-31 01:05:46
我现在的数据表是的addtime字段是datetime类型的,有时分秒,但我现在要用没有时间只有日期的跟他比较,应该怎么办。
'sql="select * from [action] where companyid="&session("userid")&" and addtime between "&trim(request("startdate"))&" and "&trim(request("enddate"))&" order by id desc"
这样是报错的。
望 高手指点
...全文
62 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
comszsoft 2008-07-31
  • 打赏
  • 举报
回复

-- 时间用单引号引用起来
sql="select * from [action] where companyid="& session("userid")& " and addtime between '"&trim(request("startdate"))&"' and '"&trim(request("enddate"))&"' order by id desc"
水族杰纶 2008-07-31
  • 打赏
  • 举报
回复
convert(varchar(),getdate,120)
有N种日期格式供你选择,总有一种适合你~
具体例子:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
lgxyz 2008-07-31
  • 打赏
  • 举报
回复
select convert(varchar(10),getdate(),120)
/*
2008-07-31
*/
jhwcd 2008-07-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hery2002 的回复:]
1.在程序端将时间转换为日期字符串,形如'2008-07-31'之类的,
2.在T-SQL端将时间转换为日期字符串,

SQL codeselect convert(nvarchar(10),getdate(),120)
/*
2008-07-31
*/
[/Quote]
昵称被占用了 2008-07-31
  • 打赏
  • 举报
回复
加引号
'sql="select *  from [action]  where companyid="&session("userid")&" and    addtime between '"&trim(request("startdate"))&"' and '"&trim(request("enddate"))&"' order by id desc" 

hyde100 2008-07-31
  • 打赏
  • 举报
回复
全部转换格式为字符
convert(nvarchar(8),addtime ,112)
hery2002 2008-07-31
  • 打赏
  • 举报
回复
1.在程序端将时间转换为日期字符串,形如'2008-07-31'之类的,
2.在T-SQL端将时间转换为日期字符串,
select convert(nvarchar(10),getdate(),120)
/*
2008-07-31
*/

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧