datetime问题

jerry_zhang99 2009-11-13 02:46:28
我写了个select语句查询时间段,但是老是报错,char to datetime 格式转换错误。

select * from table where datetime between '2009-11-13 14:44:25' and '2009-11-13 18:12:25'

数据库里都是默认设置,请问这问题出在哪里,求救

小弟没分,望谅解
...全文
102 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerry_zhang99 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qqqwwwqw 的回复:]
select 1 where getdate() between '2009-11-12 14:44:25' and '2009-11-13 18:12:25'

[/Quote]
select 1 是什么意思啊,getdate()又是怎么得到datetime的啊,因为我在这里把datetime单独列为了一列
jerry_zhang99 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 misterliwei 的回复:]
试试这个:
SQL codeselect*fromtablewheredatetimebetween'2009-11-13T14:44:25'and'2009-11-13T18:12:25'
[/Quote]

啊,把datetime数据类型改为这个啊,
jerry_zhang99 2009-11-14
  • 打赏
  • 举报
回复
这么多人关注我啊,SQL77大哥,特别关注过你的文章。
我先说一下,我的Datetime column 就是 datetime类型。昨天发了帖子之后特地关注了SQL77的文章,找到了这样一个答案
Convert(varchar(20), [DatetimeColumn], 120) 就ok了

具体是这样写的
private string GetSelectCommand(string table, DateTime startTime, DateTime endTime)
{
return "select * from " + table + "where Convert(var(20), [DatetimeColumn], 120) between 'yyyy-mm-dd HH:mm:ss' and 'yyyy- mm-dd HH:mm:ss'";
}

感谢大家给出这么多建议,回去继续研究
qqqwwwqw 2009-11-13
  • 打赏
  • 举报
回复
select 1 where getdate() between '2009-11-12 14:44:25' and '2009-11-13 18:12:25'
hbqhd 2009-11-13
  • 打赏
  • 举报
回复
数据类型的问题。
misterliwei 2009-11-13
  • 打赏
  • 举报
回复
试试这个:
select * from table where datetime between '2009-11-13T14:44:25' and '2009-11-13T18:12:25'
SQL77 2009-11-13
  • 打赏
  • 举报
回复
select COUNT(*) from [table] WHERE ISDATE([DATETIME])=0

看有数据没
水族杰纶 2009-11-13
  • 打赏
  • 举报
回复
datetime 是字符型的?
裡面應該有非日期字符?

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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