在Laravel中使用sql server convert()

在Laravel中使用sql server convert(),laravel,laravel-5,laravel-5.2,Laravel,Laravel 5,Laravel 5.2,我使用的是Laravel 5.2,我试图从Sql Server执行一个查询,但我有一个列类型datetime,在我的查询中,我试图获得两个日期之间的所有结果,但为此,我需要将datetime列转换为date,我的查询工作正常,问题是当我试图从Laravel执行它时 我收到以下错误消息: 列名“CONVERTDATE,DatetimeColumn”无效 这是我的密码: $data =DB::table('Table_Name') ->select('C1', 'CONVERT(DATE, S

我使用的是Laravel 5.2,我试图从Sql Server执行一个查询,但我有一个列类型datetime,在我的查询中,我试图获得两个日期之间的所有结果,但为此,我需要将datetime列转换为date,我的查询工作正常,问题是当我试图从Laravel执行它时

我收到以下错误消息:

列名“CONVERTDATE,DatetimeColumn”无效

这是我的密码:

$data =DB::table('Table_Name')
->select('C1', 'CONVERT(DATE, SaleDate) as DateSale', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9', 'C10')
->whereBetween('CONVERT(DATE, SaleDate)', ["2018-06-10", "2018-08-10"])
->orderBy('SaleDate', 'desc')->paginate(10);
如何执行此操作?

使用selectRaw而不是select:


不确定SQL server,但MySQL不允许您在别名上使用where。我认为您是对的,需要使用where而不是where才能使用别名,谢谢
->selectRaw('C1, CONVERT(DATE, SaleDate) as DateSale, C2, C3, C4, C5, C6, C7, C8, C9, C10)