質問

ここに私のデータベースのスナップです。

col1とcol2の両方がint型として宣言されています。

次のように私のComputedColumnは現在、...、列1および2が追加されます。

col1  col2  ComputedColumn
1     2     3
4     1     5

これに代えて、列に参加する必要があり、私のComputedColumn 1及び2(includimgの ' - ' の途中で文字)以下のように...

col1  col2  ComputedColumn
1     2     1-2
4     1     4-1

だから、正しい構文は何ですか?

役に立ちましたか?

解決

あなたはおそらくcol1+col2として、あなたの計算列を定義しています。代わりにCAST(col1 AS NVARCHAR(MAX))+'-'+CAST(col2 AS NVARCHAR(MAX))を試してみてください。

ご希望の場合は、

それとも、あなたがNVARCHAR(MAX)やお好みの長さの異なるNVARCHAR(10)を置き換えることができます。

他のヒント

create table TableName
(
    col1 int,
    col2 int,
    ComputedColumn as Convert(varchar, col1) + '-' + Convert(varchar, col2)
)
心の中で

ベアいずれかの値がnullであるならば、ComputedColumnの結果はまた、

(デフォルトの照合順序や設定を使用して)nullされることを

シンプルます:

SELECT ComputedColumn = convert(varchar, col1) + '-' + convert(varchar, col2)
  FROM Table
SELECT col1, col2, (col1 + '-' + col2) as ComputedColumn

「+」追加および連結文字の両方です。あなたは明示的に含めて、変換するが、この場合では可能性が「 - 」途中で暗黙的な変換を起こさなければならない。

最初のデザインモードでテーブルを作成します。

COL1とCOL2として2列を追加

別の列のcomputedcolumnを追加し、設定計算列プロパティ

ここに画像の説明を入力します

また、あなたが使用することができますスクリプト次の

その
CREATE TABLE [dbo].[tbl](
[col1] [varchar](50) NOT NULL,
[col2] [varchar](50) NOT NULL,
[ComputedColumn]  AS ((CONVERT([varchar],[col1],(0))+'-')+CONVERT([varchar],[col2],(0)))

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