0

dummy2別のテーブルの値を使用してテーブルを作成していますdummy。これは私の構文です:

CREATE TABLE dummy2 AS SELECT
t1.zid AS orig_id,
t2.zid AS dest_id,
ABS(RANDOM()*(45-2)-45) AS dist
FROM dummy t1, dummy t2;

の属性ziddummyとして保存されDOUBLE PRECISIONます。ただし、新しいテーブルでは、データ型を次のように変更したいと思いますINTEGER。どうすればこれを達成できますか?私の最初の考えはこれでした(スキーマを使用してテーブルを作成するときにデータ型を宣言する方法と非常に似ています:

CREATE TABLE dummy2 AS SELECT
t1.zid AS orig_id INTEGER,
t2.zid AS dest_id INTEGER,
ABS(RANDOM()*(45-2)-45) AS dist
FROM dummy t1, dummy t2;

しかし、それは実行に失敗します。誰かがこれで私を助けることができますか?支援に感謝します!

4

1 に答える 1

2
CREATE TABLE dummy2 AS SELECT
cast(t1.zid as integer) AS orig_id,
cast(t2.zid as integer) AS dest_id,
ABS(RANDOM()*(45-2)-45) AS dist
FROM dummy t1, dummy t2;
于 2012-10-06T11:40:32.807 に答える