gpt4 book ai didi

sql - Arel 查询 CAST 操作

转载 作者:行者123 更新时间:2023-12-02 06:18:39 24 4
gpt4 key购买 nike

我需要在 Arel 中形成一个查询,该查询之前有一个 CAST 操作。原来的查询是这样的: select * from tablename where tablename.anniversary >= CAST(STR_TO_DATE(?,'%d-%m-%Y-%k-%i-%s') as DATETIME)

(问号在进一步的代码中被实际日期替换)

对于 where 条件,我正在这样做:

where(tablename['anniversary']
.gteq("CAST(STR_TO_DATE(#{date_value},'%d-%m-%Y %k:%i') as DATETIME)"))

我应该得到的最终查询结果应该是: 表名.anniversary >= '2015-07-13 16:12:00'

但我明白:

tablename.anniversary >= 'CAST(STR_TO_DATE(13-09-2015 05:33PM,\'%d-%m-%Y %k:%i\') as DATETIME)'

我做错了什么?

最佳答案

我不确定你是否理解你的问题,但是......

首先为什么不直接使用 Ruby datetime formating
但如果这个日期是一列:

Arel::Nodes::NamedFunction.new('CAST', [Model.arel_table[:column_name].as(Arel::Nodes::Quoted.new('DATETIME'))])

关于sql - Arel 查询 CAST 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32564568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com