2017-02-02 47 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