SQL错误:“日期格式图片在转换整个输入字符串之前结束”

时间:2017-10-31 19:29:44

标签: sql oracle date-format

我在查询中的语句运行时遇到标题中的错误。通常这个错误应该是因为缺少to_date函数,但我相信我有所需要的一切,但不知道为什么我真的收到了这个。非常感谢任何帮助!

case when week=to_date('25/06/2017','YYYY/MM/DD') then 26
     when week=to_date('02/07/2017','YYYY/MM/DD') then 27
     when week=to_date('09/07/2017','YYYY/MM/DD') then 28
     when week=to_date('16/07/2017','YYYY/MM/DD') then 29
     when week=to_date('23/07/2017','YYYY/MM/DD') then 30
     when week=to_date('30/07/2017','YYYY/MM/DD') then 31
     when week=to_date('06/08/2017','YYYY/MM/DD') then 32
     when week=to_date('13/08/2017','YYYY/MM/DD') then 33
     when week=to_date('20/08/2017','YYYY/MM/DD') then 34
     when week=to_date('27/08/2017','YYYY/MM/DD') then 35
     when week=to_date('03/09/2017','YYYY/MM/DD') then 36
     when week=to_date('10/09/2017','YYYY/MM/DD') then 37
     when week=to_date('17/09/2017','YYYY/MM/DD') then 38
     when week=to_date('24/09/2017','YYYY/MM/DD') then 39
     when week=to_date('01/10/2017','YYYY/MM/DD') then 40
     when week=to_date('08/10/2017','YYYY/MM/DD') then 41
     when week=to_date('15/10/2017','YYYY/MM/DD') then 42
     when week=to_date('22/10/2017','YYYY/MM/DD') then 43
     when week=to_date('29/10/2017','YYYY/MM/DD') then 44
     when week=to_date('05/11/2017','YYYY/MM/DD') then 45
     when week=to_date('12/11/2017','YYYY/MM/DD') then 46
     when week=to_date('19/11/2017','YYYY/MM/DD') then 47
     when week=to_date('26/11/2017','YYYY/MM/DD') then 48
     when week=to_date('03/12/2017','YYYY/MM/DD') then 49
     when week=to_date('10/12/2017','YYYY/MM/DD') then 50
     when week=to_date('17/12/2017','YYYY/MM/DD') then 51
     when week=to_date('24/12/2017','YYYY/MM/DD') then 52
    else 0 end as week,

3 个答案:

答案 0 :(得分:3)

Çağdaş,制作这样的格式:

  

var myApp = angular.module("myApp",[]) myApp.controller("myCont",["$scope","$filter",function($scope,$filter){ $scope.uniqueArray = [5,10,500,2,6,5,4,10,20,5] }]) myApp.filter("unique",function(){ var arrNumb = []; var arrNumb2 =[]; return function(input){ angular.forEach(input,function(value,index,obj){ if(arrNumb.indexOf(value)==-1) { arrNumb.push(index); arrNumb2.push(value); } }) } return arrNumb2; })

而不是to_date('25/06/2017','DD/MM/YYYY')等等。由于日期格式的顺序错误。

答案 1 :(得分:2)

格式错误。 您可以在所有表​​达式中使用to_date('25/06/2017','DD/MM/YYYY')

答案 2 :(得分:1)

您可以使用TO_CHAR函数从给定日期提取一年中的一周,而不是硬编码这么多次。

在您的情况下,您可以使用

SELECT TO_CHAR(week,'WW') from table_name;