小弟对存储过程知识很差,目前通过语句已经完成了一个查询。
查询结果为1列,类型为datetime,精确到秒,每行的数据日期都是不同的。现在想实现以下的功能的存储过程:
添加一个列,此列的数据为第一列的数据到该天的23:59分的时间差。如第一列数据为2010-4-12 8:21:23
第二列数据为2010-4-12 8:21:23到2010-4-12 23:59:59的时间差,精确到小数点后3位。肯定各位帮忙
查询结果为1列,类型为datetime,精确到秒,每行的数据日期都是不同的。现在想实现以下的功能的存储过程:
添加一个列,此列的数据为第一列的数据到该天的23:59分的时间差。如第一列数据为2010-4-12 8:21:23
第二列数据为2010-4-12 8:21:23到2010-4-12 23:59:59的时间差,精确到小数点后3位。肯定各位帮忙
datediff(ms,'2010-4-12 8:21:23',dateadd(ss,-1,dateadd(dd,1,'2010-4-12'))),
0),108)--------------------
15:38:36(1 行受影响)返回啥?
AS
SELECT TIME, convert(varchar(20),dateadd(SS,
datediff(SS,TIME,dateadd(ss,-1,dateadd(dd,1,CONVERT(VARCHAR(10),TIME,120)))),
0),108)
FROM TB
insert into yy values('2010-4-12 8:21:23')
CREATE PROC P
AS
SELECT 时间, convert(varchar(20),dateadd(SS,
datediff(SS,时间,dateadd(ss,-1,dateadd(dd,1,CONVERT(VARCHAR(10),时间,120)))),
0),108) as 时间差
FROM yy
drop table yy
insert into yy values('2010-4-12 8:21:23')
CREATE PROC P
AS
SELECT 时间, convert(varchar(20),dateadd(SS,
datediff(SS,时间,dateadd(ss,-1,dateadd(dd,1,CONVERT(VARCHAR(10),时间,120)))),
0),108) as 时间差
FROM yy
drop table yy