0
我想用多个条件更新多行。列“expired_date”是类型日期,但表达式是文本类型
这是我的选择查询来测试结果。
select name, register_date, expired_date, to_char(register_date + interval '1 year' - interval '1 day', 'YYYY-MM-DD') from tb_agent where agent_id = agent_id and agent_id in (46,47,62)
它可以显示结果如我所料,
但是,当我的手艺多个更新与此代码
update tb_agent set expired_date = (select to_char(register_date + interval '1 year' - interval '1 day', 'YYYY-MM-DD') from tb_agent where agent_id = agent_id) where agent_id in (46,47,62)
我得到这个
column "expired_date" is of type date but expression is of type text
register_date是日期时间列和expired_date是varchar
我的代码有问题吗?
谢谢,提前。
你铸造'date'到''中select' text'。只要删除'to_char()'。 – AlexM
@AlexM我需要格式化为YYYY-MM-DD,问题已更新 –