SQL Select Inte Statementの新しいフィールドのタイプ(INT)をMS Accessに定義する方法
-
22-12-2019 - |
質問
選択inteステートメントの新しいフィールドを整数として定義したい。ただし、NewFieldはバイナリとして終了します。どうやってこれを達成できますか?
SELECT ExistingField1, ExistingField2, NewField
INTO NewTable
FROM ExistingTable
.
私はたくさん検索しましたが、まだ解決策を見つけることができませんでした。
編集1:Microsoft Accessアプリケーション自体内からSELECT INTOステートメントを実行しています。(SQL Serverテーブルを指すアクセスのテーブルではありません)
編集2:SELECT INTOステートメントでNewFieldが作成されます。既存のテーブルには存在しません。
解決
バイナリとして終わる理由は、既存のテーブル内のフィールドがBinaryフィールドである可能性が高いためです。
あなたはこのようなことをすることができます:
SELECT ExistingField1, ExistingField2, CAST(NewField AS int)
INTO NewTable
FROM ExistingTable
.
CAST
がMSAccessでは機能しません。しかし、これは機能するはずです:
SELECT ExistingField1, ExistingField2, cInt(Field1 + Field2) AS NewField
INTO NewTable
FROM ExistingTable
. 他のヒント
アクセスを使用するにはこれを使用します。パラメータダイアログは表示されません。
SELECT ExistingField1, cInt(0) AS NewField
into NewTable1
FROM Table1
.
SQL Server
CAST(null AS int) AS NewField
. あなたがすでに定義された構造がある場合は、次のことができます。
Insert Into NewTable
Select
ExistingField1,
ExistingField2,
cast(NewField as int) as NewField,
From ExistingTable
. 所属していません StackOverflow