sql:查询时间的语句

lwx139 2005-02-18 08:59:37
数据中有一个时间字段、一个nvarchar字段、一个int字段,
nvarchar字段存的数据只有三个:year、month、day
怎样才能根据nvarchar字段里的数据算出时间字段和相加的时间一样呢?

select datediff(day,1,time) from table

select datediff(nvarchar字段,int字段,time) from table
...全文
165 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewQger 2005-02-21
  • 打赏
  • 举报
回复
如果搂主的意思是对一个记录
把 根据nvarchar字段 把time 字段 + 上int字段的值 的话 是这样
select dateadd(nvarchar字段,int字段,time) from tabel
可能是你用错函数了,datediff ,和 dateadd

不知道这次猜对楼主的意思了没?
NewQger 2005-02-21
  • 打赏
  • 举报
回复
看了半天终于明白搂主老大的意思
如果你的int字段是这样的话 20050101 可以这样查询
select datediff(nvarchar字段,convert(varchar(10),int字段,120),time) from table
NewQger 2005-02-21
  • 打赏
  • 举报
回复
DATEDIFF函数的参数是时间型的,比较前用 convert函数先转换了啊
Softlee81307 2005-02-21
  • 打赏
  • 举报
回复
select * from table where datediff(day,nvarchar字段,time)=int字段
lwx139 2005-02-21
  • 打赏
  • 举报
回复
但系统说不行.
lucky08 2005-02-20
  • 打赏
  • 举报
回复
我也不是太理解楼主所说的意思,麻烦楼主表达清楚一点儿。
zheninchangjiang 2005-02-20
  • 打赏
  • 举报
回复
具本可以参考convert函数
zheninchangjiang 2005-02-20
  • 打赏
  • 举报
回复
假定nvarchar形式如:20041025-->2004-10-25
convert(nvarchar(8),时间列,112)=nvarchar列
EastboyEastboy 2005-02-20
  • 打赏
  • 举报
回复
请把你的需求说清楚一点
didoleo 2005-02-20
  • 打赏
  • 举报
回复
DATEDIFF ( datepart , startdate , enddate )

startdate
enddate

可以是字段
lwx139 2005-02-20
  • 打赏
  • 举报
回复
就是在datediff的第一和第二个函数从数据库字段里取值,行么?
birchsilver 2005-02-20
  • 打赏
  • 举报
回复
楼主:在datediff函数中datepart部分不能用变量代替必须指定。你可以把你的要求再详细说一下,想想有没有别的方法,是不是表结构的原因。

27,579

社区成员

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

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