189 8069 5689

sqlserver星期,sqlserver 时间间隔

在sql中怎样获得已知日期是星期几

Oracle数据库:

创新互联公司基于分布式IDC数据中心构建的平台为众多户提供多线服务器托管 四川大带宽租用 成都机柜租用 成都服务器租用。

第一个:SELECT DECODE(dw,

0,

'星期天',

1,

'星期一',

2,

'星期二',

3,

'星期三',

4,

'星期四',

5,

'星期五',

6,

'星期六') WEEK_DAY

FROM (SELECT 7 -

TO_NUMBER(NEXT_DAY(TO_DATE('2012-12-12', 'yyyy-mm-dd'), 1) -

TO_DATE('2012-12-12', 'yyyy-mm-dd')) dw

FROM dual);

第二个语句:

SELECT TO_CHAR(TO_DATE('2012-12-12', 'YYYY-MM-DD'), 'DAY') WEEK_DAY

FROM DUAL

SqlServer数据库:

select case datepart(weekday, getdate())

when 1 then

'星期天'

when 2 then

'星期一'

when 3 then

'星期二'

when 4 then

'星期三'

when 5 then

'星期四'

when 6 then

'星期五'

when 7 then

'星期六'

end

扩展资料:

SQL相关函数:

SQL Aggregate 函数:SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:AVG() - 返回平均值,COUNT() - 返回行数,FIRST() - 返回第一个记录的值,LAST() - 返回最后一个记录的值,MAX() - 返回最大值,MIN() - 返回最小值,SUM() - 返回总和

SQL Scalar 函数:SQL Scalar 函数基于输入值,返回一个单一的值。

有用的 Scalar 函数:UCASE() - 将某个字段转换为大写,LCASE() - 将某个字段转换为小写,MID() - 从某个文本字段提取字符;

LEN() - 返回某个文本字段的长度,ROUND() - 对某个数值字段进行指定小数位数的四舍五入,NOW() - 返回当前的系统日期和时间,FORMAT() - 格式化某个字段的显示方式。

参考资料:百度百科——sql

SQL SERVER查询时间是一年中第几周的函数

SQL SERVER查询时间是一年中第几周,使用函数 datepart()。

例:查询 ‘2017-1-1’是2017年的第几周,语句如下

select datepart(wk,'2017-1-1')

datepart函数说明

一、函数功能:DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

二、语法:DATEPART(datepart,date)

三、参数说明:date 参数是合法的日期表达式。datepart 参数可以是下列的值:

四、实例演示

假设我们有下面这个 "Orders" 表:

我们使用如下 SELECT 语句:

SELECT DATEPART(yyyy,OrderDate) AS OrderYear,

DATEPART(mm,OrderDate) AS OrderMonth,

DATEPART(dd,OrderDate) AS OrderDay

FROM Orders

WHERE OrderId=1

结果:

sqlserver 写一个函数,能获取两个日期之间的周一到周五的总天数

drop function dbo.f_get_workdays

go

CREATE FUNCTION dbo.f_get_workdays(@bdate DATETIME, @edate DATETIME)

RETURNS INTEGER

AS BEGIN

DECLARE @workdays INTEGER

IF @bdate @edate

RETURN -1

SELECT @workdays =

--如果终止日期与起始日期在同一个星期内,只需要计算有几天即可

CASE WHEN DATEPART(wk, @edate-1)-DATEPART(wk,@bdate) = 0 THEN

CASE WHEN DATEPART(dw, @bdate) 5 THEN 0

WHEN DATEPART(dw, @edate-1) 5 THEN 6 - DATEPART(dw, @bdate)

ELSE DATEPART(dw, @edate-1) - DATEPART(dw, @bdate) + 1 END

--如果终止日期与起始日期在不同的星期内

--首先计算出除前后两个星期外完整的星期数 * 5

ELSE (DATEDIFF(dd,@bdate,@edate)

- (8-DATEPART(dw, @bdate))

- DATEPART(dw, @edate-1)) / 7 * 5

--再加上第一个星期里的工作日数

+ CASE WHEN DATEPART(dw, @bdate) 6 THEN 6 - DATEPART(dw, @bdate)

ELSE 0 END

--加上末一个星期里的工作日数

+ CASE WHEN DATEPART(dw, @edate-1)5 THEN 5 ELSE DATEPART(dw, @edate-1) END

END

RETURN @workdays

END

go

select dbo.f_get_workdays(dateadd(day,-21,getdate()),getdate())

sqlserver如何查询当月的第一个星期五?

说一下我的思路吧.首先查询出当前月的每一天进行排序,然后再对每一天进行星期几的查询,再定位第一个星期五,我们用的也是Oracle,语句应该也是大同小异.

select ndate(select trunc(sysdate,'mm')+level-1 as ndate from daul connect by level =31) t where to_char(ndate,'dy')='星期五' and rownum='1';

sqlserver 如何获取过去星期中的数据 例如今天是17号,获取10~17号的数据

select * from 表名

where datepart(week,[时间字段])=datepart(week,'2013.3.17')-1

sqlserver如何算出星期

2.每年每个月的信息

sql = select datepart(year,date)*100+datepart(month,date) YEARMONTH,* SPSL,distinct(employee) from user

group by uname

1.每月每个星期的信息

sql = select * from user where date between DateAdd(day,day(getdate())-1,getdate()) and DateAdd(day,7-day(getdate()),getdate())


分享文章:sqlserver星期,sqlserver 时间间隔
转载来于:http://cdxtjz.cn/article/hojhjo.html

其他资讯