asp.net水晶报表问题

来源:百度知道 编辑:UC知道 时间:2024/06/20 13:06:16
我要做个水晶报表 有个表里面有几个字段是nvarchar类型例如
user表 字段 id firsttime secondtime
1 2009-02-30 14:30:50fdf 2009-11-30 15:50
我要求他们的时间差加起来 然后再求平均时间
我用sql语句已经截取了时间 可以显示报表 但是时间差和平均时间不知道怎么做 请高手帮帮忙 报表里有个公式编辑器里面有datediff和dateAdd函数可以做吗?? 就是不知道语法 sql的语法拿进来都要报错呀 谁来救救我 谢谢了
select cas_AutoId,cas_TSTime,substring(cas_Timestamp,1,19) as cas_Timestamp from Customer_AfterService where cas_AutoId between 137 and 281

select dateDiff(hh,cas_TSTime,cas_Timestamp)from Customer_AfterService

这两句怎么才能合并成一句 在sql中单独运行要出错:消息 241,级别 16,状态 1,第 3 行
从字符串向 datetime 转换时失败。谁来帮帮我呀

水晶报表收费的,你为什么还要学呢?

如果firsttime和secondtime 是nvarchar的话在SQl里用 cast(firsttime as datetime) cast(secondtime as datetime) 转换下

然后在水晶报表里新建公式:
平均时间(精确到秒)
dateadd("s",datediff("s",{?@SDATE},{?@EDATE})/2,{?@SDATE})
时间差(秒)
datediff("s",{?@SDATE},{?@EDATE})

datediff的用法:
DateDiff(interval, date1, date2)
DateDiff 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。

设置
interval 参数的设定值如下:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒

dateadd和datediff类似,希望对你有所帮助。