Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:将日期转换为工作日不';行不通_Sql_Oracle - Fatal编程技术网

SQL:将日期转换为工作日不';行不通

SQL:将日期转换为工作日不';行不通,sql,oracle,Sql,Oracle,我的问题是显示工作日而不是日期。目前,这一做法行之有效: SELECT Sum(PostQuantity) AS Amount, to_char(PostingDate, 'dd-mm-yyyy') AS Day FROM table1 GROUP BY to_char(PostingDate, 'dd-mm-yyyy') ORDER BY to_char(PostingDate, 'dd-mm-yyyy') 但这会显示日期。添加以下功能: SELECT Sum(PostQuantity

我的问题是显示工作日而不是日期。目前,这一做法行之有效:

SELECT
Sum(PostQuantity) AS Amount, 
to_char(PostingDate, 'dd-mm-yyyy') AS Day
FROM 
table1
GROUP BY to_char(PostingDate, 'dd-mm-yyyy') 
ORDER BY to_char(PostingDate, 'dd-mm-yyyy')
但这会显示日期。添加以下功能:

SELECT
Sum(PostQuantity) AS Amount, 
DatePart(Weekday,PostingDate) AS Day


不行。我想我的问题是在
SELECT
操作符中使用了
PostingDate
,但我尝试修复它的方法也没有效果。

我没有看到您的代码中存在问题,但有时尝试另一种方法也会奏效。试试这个:

SELECT SUM(t.postQuantity) as amount,
       TO_CHAR(t.PostingDate,'DAY') as dayOfTheWeek
FROM YourTable t
GROUP BY TO_CHAR(t.PostingDate,'DAY')

Dy
将给出前3个字母。

如果DATENAME函数在sql上,则可以使用它

SELECT DATENAME(WEEKDAY,[Date])
FROM Table1
在甲骨文中

select to_char(to_date('03/09/1982','dd/mm/yyyy'), 'DY')

sql server没有函数
到_char()
,您是说Oracle吗?另外,“将不工作”也不是问题描述。为什么这些查询不起作用?您是否也将
datepart
函数添加到了
groupby
中?是的,对不起,我指的是Oracle,是的,我尝试将它们添加到“groupby”中,但问题出在哪里?这并不等同于原始查询。原始查询按日期分组。此版本将通过将所有星期一放在同一组(不考虑日期)来聚合。也许这是OP想要的,但不清楚。我认为这是他想要的,因为正如你所看到的,他试图将这一行转换为其他行(SUM(postQuantity)remaind.@mathguy但是groupby子句也是如此-他只是试图更改SELECT。无论如何,这种怀疑总是值得一个问题。我只是在原始问题下的一条评论中问了OP。确实如此,它甚至没有想到,只是试图提供一个替代方案。让我们看看他回答了什么。它将在第n周返回什么我喜欢周六、周日……或者周指数喜欢0、1。。
select to_char(to_date('03/09/1982','dd/mm/yyyy'), 'DY')