有这样几种格式:
select getdate()
select Convert(varchar,getdate(),120) yyyy-mm-dd hh:mi:ss
select Convert(varchar,getdate(),23) 年月日
select DATEDIFF(day,getdate(),convert(datetime,'2008-08-08 18:00:00',120)) --时间差
select DATENAME(dw,getdate())
--当前时间是一周内的第几天(中文,返回NVARCHAR型)
可以如下
select dateadd(day,20 + ceiling(20/5) 2,'2012/11/16');
其中20为你要的增加工作日, ceiling(20/5) 2 是中间的周六周日的天数
select from tb where a = xxx筛选后,难点就是如何判断是否有3天是连续的
可以将表下移一行后作差比较:
b 错行 差
1 2011-6-1
2 2011-6-3 2011-6-1 2
3 2011-6-4 2011-6-3 1
4 2011-6-5 2011-6-4 1
2011-6-5
然后再用游标判断差这一列是否有两个1是挨着的
或者直接判断时期是否连续,sqlserver里可以这样写
DECLARE @id INT
DECLARE @time DATETIME
DECLARE @tb TABLE (id INT IDENTITY(1,1) ,b DATETIME)
INSERT INTO @tb(b) SELECT b FROM tb ORDER BY b
SELECT @id=MIN(INT_I) FROM @tb
WHILE NOT @id IS NULL BEGIN
SELECT @time = b FROM @tb WHERE INT_I=@id
IF EXISTS(SELECT 1 FROM tb WHERE b = DATEADD(dd,1,@time))
BEGIN
IF EXISTS(SELECT 1 FROM tb WHERE b = DATEADD(dd,2,@time))
BEGIN
PRINT '存在!'
END
END
SELECT @id=MIN(id) FROM @tb WHERE id>@id
END
以上就是关于sql中怎么取得当前时间全部的内容,包括:sql中怎么取得当前时间、sql 2000 计算时间问题 。 列:比如从今天11.16起,除去周六周和节假日算出20天后是几月几号。急求!、sql 语句:一个字段,连续几天值大于0,获得天数 怎么解决的请教等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)