在SQL中使用DATE_ADD和占位符设置时间间隔
在SQL中使用DATE_ADD和占位符设置时间间隔
DATE_ADD(CURRENT_TIMESTAMP(), #{INTERVAL}) 在SQL查询中是不可行的。这是因为 #{} 通常被数据库解释为参数占位符,而不是直接替换SQL语句中的表达式。
如何解决这个问题?
可以使用字符串拼接来构建SQL语句,将变量 #{INTERVAL} 与SQL表达式连接起来。
示例:
以下SQL查询演示了如何使用字符串拼接和占位符来设置时间间隔:sqlINSERT INTO cost_his_increment ( factory_type, factory_name, department_name, department_code, cost_name, cost_code, cost_increment, responsible_person, responsible_id, create_time, update_time, enddate_time)VALUES ( #{factory_type}, #{factory_name}, #{department_name}, #{department_code}, #{cost_name}, #{cost_code}, #{cost_increment}, #{responsible_person}, #{responsible_id}, CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP(), CONCAT(CURRENT_TIMESTAMP(), ' ', #{INTERVAL}))
在这个例子中,CONCAT(CURRENT_TIMESTAMP(), ' ', #{INTERVAL}) 将 CURRENT_TIMESTAMP() 和变量 #{INTERVAL} 拼接在一起,构建一个新的日期时间值。
注意: 您可能需要根据具体的数据库和需求调整拼接方式和日期时间格式。
原文地址: http://www.cveoy.top/t/topic/S79 著作权归作者所有。请勿转载和采集!