今天是星期几,例子 1:
今天是星期几,例子 2:
星期三
今天是星期几,例子 3:
3 星期三
你可能有疑问:“set language” 后面的语言参数是从哪里得到的?可以得到其他国家语言中的星期几吗?当然是可以的了, 请看下面:
如果我想得到韩语中的星期几,可以这样:
【编辑推荐】
sqlserver如何算出星期
2.每年每个月的get="_blank">信息sql = select datepart(year,date)*100+datepart(month,date) YEARMONTH,* SPSL,distinct(employee) from usergroup by uname 1.每月每个星期的信息sql = select * from user where date between DateAdd(day,day(getdate())-1,getdate()) and DateAdd(day,7-day(getdate()),getdate())
SELECT convert(varchar(10),DATEADD(wk, DATEDIFF(wk,0,dateadd(wk,24,2009-01-01)), 0),120) 起始日期, convert(varchar(10),DATEADD(wk, DATEDIFF(wk,0,dateadd(wk,24,2009-01-01)), 6),120) 结束日期 上面求第25个周起止时间,求第20周把24改成19即可。 *************************************** 补充解释一下: 1:dateadd(week,24,2009-01-01)是在2009-01-01的基础上加上24周,算上2009-01-01所在的周正好是25周,但是这个加法是以7天为基数加的,换句话说2009-01-01是周几,加完之后也是周几。 2:DATEDIFF(wk,0,dateadd(wk,24,2009-01-01)) 【0代表1900年1月1日00:00】,这个是求第1步算出的日期和【1900年1月1日00:00】年的星期差。 3:DATEADD(wk, DATEDIFF(wk,0,dateadd(wk,24,2009-01-01)), 0) 是求出第一步求出的日期所在周的周一的日期。 4:DATEADD(wk, DATEDIFF(wk,0,dateadd(wk,24,2009-01-01)), 6) 是求出第一步求出的日期所在周的周日的日期。 5:convert(varchar(10),xxxx,120)是求出第3或者4步中时间的 年份+月份 ************************************** --- 以上,希望对你有所帮助。
SQL Server 中时间函数
DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值。 语法DATEADD ( datepart , number, date )DATEDIFF返回跨两个指定日期的日期和时间边界数。 语法DATEDIFF ( datepart , startdate , enddate )DATEPART返回代表指定日期的指定日期部分的整数。 语法DATEPART ( datepart , date )DATENAME返回代表指定日期的指定日期部分的字符串。 语法DATENAME ( datepart , date )比较 DATEADD 和 DATEDIFFDATEADD 函数向指定日期添加一段时间间隔。 例如,如果 titles 表中所有书籍的发行日期都推迟三天,则可使用以下语句获得新的发行日期:USE pubsSELECT DATEADD(day, 3, pubdate)FROM titles如果日期参数的数据类型是 smalldatetime,则结果的数据类型也是 smalldatetime。 可以使用 DATEADD 对 smalldatetime 值添加秒或毫秒,但只有当 DATEADD 返回的结果日期至少改变了 1 分钟时,这样做才有意义。 DATEDIFF 函数计算指定的两个日期中第二个日期与第一个日期之间各日期部分相差的时间量。 换句话说,它得出两个日期之间的间隔。 结果是等于 date2 - date1 的带符号整数值,以各日期部分为单位。 下面的查询使用日期 1995 年 11 月 30 日,并得出 pubdate 和该日期之间相差的天数。 USE pubsSELECT DATEDIFF(day, pubdate, Nov 30 1995)FROM titles对于 titles 中 pubdate 为 1995 年 10 月 21 日的行,上述查询生成的结果为 40。 (10 月 21 日和 11 月 30 日之间相差 40 天。 )要计算以月为单位的间隔,请使用以下查询:USE pubsSELECT interval = DATEDIFF(month, pubdate, Nov 30 1995)FROM titles该查询对 pubdate 值在 10 月的行生成的值为 1,对 pubdate 值在 6 月的行生成的值为 5。 若 DATEDIFF 函数中的第一个日期晚于指定的第二个日期,则产生的结果为负数。 由于 titles 中有两行使用 GETDATE 函数指派 pubdate 的值,所以这些值被设置为 pubs 数据库的创建日期,这样在前面的两个查询中这两行返回负数。 如果一个或两个日期参数是 smalldatetime 值,它们将在内部转换为 datetime 值进行计算。 为了进行计算,smalldatetime 值中的秒和毫秒将自动设置为 0。 比较 DATEPART 和 DATENAMEDATEPART 和 DATENAME 函数将 datetime 值的指定部分(年、季度、天、小时等)生成为整数值或 ASCII 字符串。 由于 smalldatetime 只能精确到分钟,所以在这两个函数中使用 smalldatetime 值时,返回的秒和毫秒部分总是为零。 下面的示例假定日期为 5 月 29 日:SELECT DATEPART(month, GETDATE())下面是结果集:------------5(1 row(s) affected)SELECT DATENAME(month, GETDATE())下面是结果集:------------May(1 row(s) affected)具体可以参考SQL Server联机丛书(安装SQLServer时自动的帮助)
发表评论