我有一个类似这样的查询
select days, date(date_event) + interval '10' day from tbl_user_marketing_program as programtable
Run Code Online (Sandbox Code Playgroud)
现在代替'10',我想添加"days"列中的值.我怎样才能做到这一点?
我试过了 select user_id, date(date_event) + interval user_id day from tbl_user_marketing_program as programtable
然后我得到了以下错误
错误:语法错误在"天"或接近"日"第1行:... ect user_id,date(date_event)+ interval user_id day from t ...
不幸的是,间隔的"数字"不能是任意表达式,它必须是字符串常量(这是一个奇怪的选择).您需要使用一些解决方法:
select days, date(date_event) + (days * interval '1' day)
from tbl_user_marketing_program as programtable
Run Code Online (Sandbox Code Playgroud)
但date + integer也是直接支持,在这种情况下单位是天.所以你可以写:
select days, date(date_event) + days
from tbl_user_marketing_program as programtable
Run Code Online (Sandbox Code Playgroud)