我有一个非常简单的数据集,我试图弄清楚如何将数据集分解为日增量。
Order_id [int], date_created [dateTime]
我们正在使用SQL Server 2012
虽然查询很容易获取数据
SELECT order_id, date_created
FROM orders
我一直在返回这些数据,然后使用coldfusion函数对其进行操作,以将返回数据组织到单独的数组中,以便按日期计算事务。
我尝试做的是根据date_created
列将数据作为过去7天的数据集返回。
所以结果集是
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
包含所有返回的交易。
我的SQL技能非常基础,我一直在网上寻找可能的解决方案,因此我可以将其与应用程序分开并将其保存在查询中。
答案 0 :(得分:0)
您可以使用日期名称来执行此操作。
DECLARE @date_created datetime = GETDATE()
SELECT datename(dw,@date_created)
SELECT datename(dw,@date_created - 1)
SELECT datename(dw,@date_created - 2)
SELECT datename(dw,@date_created - 3)
SELECT datename(dw,@date_created - 4)
SELECT datename(dw,@date_created - 5)
SELECT datename(dw,@date_created - 6)
将@date_created替换为您的变量。
答案 1 :(得分:0)
DECLARE @yourDate DATETIME = GETDATE()
SELECT DATENAME(WEEKDAY, @yourDate) -- Sunday, Monday, Tuesday, etc., etc
SELECT DATENAME(M, @yourDate) -- January, February, etc., etc.
以下示例返回指定日期的日期部分。
SELECT DATENAME(datepart,' 2007-10-30 12:15:32.1234567 +05:10')
datepart |返回值
年,yyyy,yy | 2007
quarter,qq,q | 4
月,mm,m |十月
dayofyear,dy,y | 303
day,dd,d | 30
周,周,周 | 44
工作日,dw |星期二
小时,...... | 12
分钟,n | 15
第二,ss,s | 32
毫秒,ms | 123
微秒,mcs | 123456
纳秒,ns | 123456700
TZoffset,tz | 310
请访问Microsoft TechNet了解更多相关信息。