2017-02-02 46 views
0

我想使用DB:raw()获得与Laravel组合的字符串。我在Backgroud中使用SQL Server 2012,但我无法使用以下字符串方案。Laravel SQL Server,Concat结果?

MM-YYYY(例如,11-2016)

及其与合作:

DB::raw('CONVERT(varchar(2),DATEPART(MM, invoices.invoice_date),100) + CONVERT(varchar(4),DATEPART(YY, invoices.invoice_date),100) AS invoice_month'), 

得到112016,但当生病尝试:

DB::raw('CONVERT(varchar(2),DATEPART(MM, invoices.invoice_date),100) + "-" + CONVERT(varchar(4),DATEPART(YY, invoices.invoice_date),100) AS invoice_month'), 

病得到致命的PDO异常。

任何想法?

+1

不知道,但周围的破折号双引号看起来不正确的。尝试单引号。 –

+0

啊,当生病使用单引号并逃脱它们时,它的工作正常:+ \' - \'+ – derdida

+0

感谢您的回答:) – derdida

回答

0

相反周围的破折号双引号的,大约有破折号两个单引号试试:

DB::raw('CONVERT(varchar(2),DATEPART(MM, invoices.invoice_date),100) + ''-'' + CONVERT(varchar(4),DATEPART(YY, invoices.invoice_date),100) AS invoice_month') 
+0

仅供参考。这已经在上面的评论中得到了回答。 :-) –

+0

Doh!发布前我应该刷新我的浏览器。 :-) – MillhouseD