我想根据字符串和插入记录时生成的ID来计算字段。基本上,当ID = 1保存记录时,我需要计算字段来读取'string_1',依此类推。我正在尝试这是我的公式(('PV'+'_')+ID)
,其中PV是字符串,ID是插入数据的同一行中的主键字段但是我得到公式错误。如果我在ID周围添加引号,那么我只是得到PV_ID这是错误的。知道如何在我的公式中引用ID字段并获取值吗?
这是我的表行结构(ID,Computedfield,data1,data2)。我需要calculatefield使ID字段的值与字符串连接。任何帮助赞赏
的修改
使用SQL SERVER 2008 R2标准
答案 0 :(得分:3)
关于该前缀字符串是字符串文字还是另一列的内容,您的问题并不完全清楚。
如果是文字,您应该可以说:
ALTER TABLE dbo.YourTable
ADD ComputedColumn AS 'PV_' + CAST(ID AS VARCHAR(10)) PERSISTED
如果它是另一列中包含的字符串,您应该能够像这样定义它
ALTER TABLE dbo.YourTable
ADD ComputedColumn AS PV + '_' + CAST(ID AS VARCHAR(10)) PERSISTED
假设PV
是包含前缀字符串的列(类型VARCHAR
)。
重点是:由于您要混合文字字符串和INT
值,因此您需要先 CAST
将INT转换为字符串才能使用连接这两个。
答案 1 :(得分:2)
使用公式:
('PV_'+CAST(ID as varchar))
如果您想保留结果值,请在最后添加PERSISTED