有一个scheduled_duration列,以分钟为单位存储时间,类型为整数。您需要将类型更改为间隔并转换现有数据。为此我写了这个SQL代码:
ALTER TABLE shift ALTER COLUMN planned_duration TYPE INTERVAL USING planned_duration * INTERVAL '60 sec';
但遗憾的是它不起作用。我收到这个错误:
ERROR: operator does not exist: interval >= integer
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
正确更改列类型和转换数据需要执行哪些操作?感谢。
答案 0 :(得分:1)
问题在于约束:
ALTER TABLE shift DROP CONSTRAINT shift_planned_duration_check;
解决了在更改列之前删除此约束的问题:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">