我的 liquibase 变更集如下所示
<changeSet id="1739718925270-1" author="abc">
<insert tableName="users">
<column name="user_id" value="[email protected]"/>
<column name="created_at" valueComputed="((SYSDATE - date '1970-01-01')*24*60*60*1000)"/>
<column name="modified_at" valueComputed="((SYSDATE - date '1970-01-01')*24*60*60*1000)"/>
</insert>
</changeSet>
我必须在 sql 查询的帮助下插入数据only 在 oracle 数据库中所以我尝试了下面的 sql 查询但是它的语法是错误的所以它给出了下面的错误
查询:
INSERT INTO users
(user_id, created_at, modified_at)
VALUES
('[email protected]', SYSDATE - TO_DATE('1970-01-01')*24*60*60*1000, SYSDATE - TO_DATE('1970-01-01')*24*60*60*1000);
错误:
Error report -
SQL Error: ORA-00932: inconsistent datatypes: expected NUMBER got DATE
00932. 00000 - "inconsistent datatypes: expected %s got %s"
什么是正确的语法,因为我觉得我的语法是错误的,我的专栏是纪元时间值,但我不确定如何插入?
请帮忙
我现有的桌子:
这个:
TO_DATE('1970-01-01')*24*60*60*1000
错了;您不能将日期与数字相乘。什么是例如2023 年 3 月 3 日 * 24?
也许你的意思是
(SYSDATE - TO_DATE('1970-01-01', 'yyyy-mm-dd')) * (24*60*60*1000)
所以你会得到两个日期值的差异(这是之间的天数)然后将它乘以something(一个数字),所以 - 结果是
NUMBER
数据类型。
此外,对于
to_date
,always 指定格式模型。