SQL Select Inte Statementの新しいフィールドのタイプ(INT)をMS Accessに定義する方法

StackOverflow https://stackoverflow.com//questions/20043231

  •  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
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top