Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 server 获取错误:从字符串转换日期和/或时间时转换失败_Sql Server - Fatal编程技术网

Sql server 获取错误:从字符串转换日期和/或时间时转换失败

Sql server 获取错误:从字符串转换日期和/或时间时转换失败,sql-server,Sql Server,尝试转换日期/日期时间列,如下所示: SELECT LEFT(DateName( Month, TRIPDATE),3 ) + ' ' + RIGHT(DateName( Year, TRIPDATE),2 ) AS [MonthYear], SUM(isnull(cast(TOTALFREIGHT as float),0)) AS FreightAmount FROM OFFLINETRANS Group By DateName( Month, TRIPDATE ), DateName

尝试转换日期/日期时间列,如下所示:

SELECT
 LEFT(DateName( Month, TRIPDATE),3 ) + ' ' + RIGHT(DateName( Year, TRIPDATE),2 ) AS [MonthYear],
 SUM(isnull(cast(TOTALFREIGHT as float),0)) AS FreightAmount 
FROM OFFLINETRANS 
Group By DateName( Month, TRIPDATE ), DateName( Year, TRIPDATE ) 
ORDER BY max(TRIPDATE)

编辑:不要编辑我的答案,如果你仍然有问题,编辑你自己的问题。如果新问题与原始帖子无关,请创建一个新问题。

您期望的结果格式是什么?是否
5月16日
?请提供一些字符串?我只是想看看它的格式是否正确。是的,我想在5月16日,但在我的表中,tripdate是'16/05/2016',为什么要用SQL来做这件事?这是您希望在演示层中执行的操作。好的。据我所知,SQLServer不使用区域日期格式。因此,您必须使用标准格式yyyy-mm-dd“2016-05-16”进行尝试。感谢您提供此代码片段,它可能会提供一些有限的即时帮助。A通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有其他类似问题的读者更有用。请在您的回答中添加一些解释,包括您所做的假设。
SELECT
 LEFT( DATENAME( MONTH, CONVERT(datetime, TRIPDATE, 103))
 ,3 ) + ' ' + RIGHT(DATENAME(YEAR, convert(datetime, TRIPDATE, 103)),2 ) AS [MonthYear],
 SUM(ISNULL(cast(TOTALFREIGHT as float),0)) AS FreightAmount 
FROM OFFLINETRANS 
Group By  LEFT( DATENAME( MONTH, CONVERT(datetime, TRIPDATE, 103)) ,3 ) + ' ' + RIGHT(DATENAME(YEAR, convert(datetime, TRIPDATE, 103)),2 )
ORDER BY max(TRIPDATE)
SELECT [MonthYear],SUM(CAST(FreightAmount AS DECIMAL(18,2))) As FreightAmount
FROM (
 SELECT LEFT(DateName(Month, TRIPDATE), 3) + ' ' + RIGHT(DateName(Year, TRIPDATE), 2) AS [MonthYear] ,SUM(TRIPCOST) AS FreightAmount ,max(TRIPDATE) AS UsedForOrder
   FROM TRANSVIEW GROUP BY DateName(Month, TRIPDATE) ,DateName(Year, TRIPDATE)

UNION ALL
 SELECT LEFT(DATENAME(MONTH, CONVERT(DATETIME, TRIPDATE, 103)), 3) + ' ' + RIGHT(DATENAME(YEAR, convert(DATETIME, TRIPDATE, 103)), 2) AS [MonthYear] ,SUM(ISNULL(cast(TOTALFREIGHT AS FLOAT), 0)) AS FreightAmount ,max(CONVERT(DATETIME, TRIPDATE, 103)) AS UsedForOrder FROM OFFLINETRANS GROUP BY LEFT(DATENAME(MONTH, CONVERT(DATETIME, TRIPDATE, 103)), 3) + ' ' + RIGHT(DATENAME(YEAR, convert(DATETIME, TRIPDATE, 103)), 2)

) AS A GROUP BY [MonthYear] ORDER BY max(UsedForOrder)