从基准中选择时间为 UNIX_TIMESTAMP(time) laravel 5

Posted

技术标签:

【中文标题】从基准中选择时间为 UNIX_TIMESTAMP(time) laravel 5【英文标题】:Select time from base as UNIX_TIMESTAMP(time) laravel 5 【发布时间】:2015-06-21 09:40:22 【问题描述】:

我有datetime 类型的基本字段,它是time 字段。我想从基础中获取所有元素并获得额外的timeu 字段 - 它是UNIX_TIMESTAMP(time)。我尝试通过添加 ->select('*','UNIXTIMESTAMP(time) AS timeu') 来做到这一点,但 Laravel 给了我错误。我需要它在->keyBy() 中使用。我有下一个错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'UNIX_TIMESTAMP(time)' in 'field list' (SQL: select *, `UNIX_TIMESTAMP(time)` as `timeu` from `values` where UNIX_TIMESTAMP(time) <= 1429135199 and UNIX_TIMESTAMP(time) >= 1428444000 order by `id` asc)

我该如何解决?

【问题讨论】:

【参考方案1】:

Laravel 需要知道 UNIX_TIMESTAMP(time) as timeu 是一个 RAW SQL 表达式而不是列名:

->select('*', \DB::raw('UNIX_TIMESTAMP(time) AS timeu'))

或者:

->selectRaw('*, UNIX_TIMESTAMP(time) AS timeu')

【讨论】:

laravel 5.2 中“DB”的完整类名是什么,谢谢 @dencey DB外观位于Illuminate\Support\Facades\DB,但你可以使用它的别名并导入use DB;

以上是关于从基准中选择时间为 UNIX_TIMESTAMP(time) laravel 5的主要内容,如果未能解决你的问题,请参考以下文章

golang GoLang数据库SQL:从查询中选择未知数量的列。基准测试结果为db_test.go

快排算法

快速排序的总结

快速排序的总结

将 unix_timestamp 转换为 spark 中的普通时间戳(以秒为单位)

django不同的数据库基准?