Robin's Blog

记录 积累 学习 成长

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
--按日
select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date])

--按周quarter
select sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date])

--按月
select sum(consume),month([date]) from consume_record where year([date]) = '2006' group by month([date])

--按季
select sum(consume),datename(quarter,[date]) from consume_record where year([date]) = '2006' group by datename(quarter,[date])

 

 

sql DATENAME 用法

Transact-SQL 参考

DATENAME

返回代表指定日期的指定日期部分的字符串。

语法

DATENAME ( datepart , date )

参数

datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms

weekday (dw) 日期部分返回星期几(星期天、星期一等)。

是返回 datetimesmalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。有关指定日期的更多信息,请参见 datetime 和 smalldatetime。有关时间值指定的更多信息,请参见时间格式

如果只指定年份的最后两位数字,则小于或等于 two digit year cutoff 配置选项的值的最后两位数字的值所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2050(默认),则 49 被解释为 2049,50 被解释为 1950。为避免模糊,请使用四位数字的年份。

返回类型

nvarchar

注释

SQL Server 自动在字符和 datetime 值间按需要进行转换,例如,当将字符值与 datetime 值进行比较时。

示例

此示例从 GETDATE 返回的日期中提取月份名。

SELECT DATENAME(month, getdate()) AS 'Month Name'

下面是结果集:

Month Name
------------------------------
February

请参见

 

CAST 和 CONVERT

数据类型

日期和时间函数

 

posted on 2009-10-19 19:26  Robin99  阅读(591)  评论(0编辑  收藏  举报