計算列は、文字列になるはずです
-
20-09-2019 - |
質問
ここに私のデータベースのスナップです。
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)))
)
所属していません StackOverflow