เวลาเราสร้าง Column ที่เป็น Compute Column จะมีปัญหาตรงเมื่อ Compute Column มีการหารด้วย 0 หรือ Null เราจะทำอย่างไรดีเพื่อแก้ปัญหาเหล่านี้ ดูตัวอย่างตาม Code SQL ด้านล่างเลยครับ

IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[T1]')
			AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
	DROP TABLE [dbo].[T1]
GO

CREATE TABLE [dbo].[T1] (
	[Col1] [decimal](10, 5) NULL ,
	[Col2] [decimal](10, 5) NULL ,
	[CompColumn] AS (
		CASE
			WHEN Col2 = 0 THEN NULL
			WHEN Col2 IS NULL THEN NULL
			ELSE Col1 / Col2
		END
	)
)
GO

INSERT T1 (Col1, Col2)
VALUES (1, 2)

INSERT T1 (Col1, Col2)
VALUES (10, 5)

INSERT T1 (Col1, Col2)
VALUES (10, 0)

INSERT T1 (Col1, Col2)
VALUES (10, NULL)
GO

SELECT * FROM T1

ที่มา+ดูเพิ่มเติมได้ที่ http://scottonwriting.net/sowblog/posts/2252.aspx

เพิ่มเติม การสร้าง Computed Column ด้วย SQL Server Management Studio http://www.ucertify.com/