我可以指定DEFAULT来获取列的确切值吗?
我正在创建一个Serial
表,其中包含From
和To
,有些只是单数。
因此我有两列:[Serial_Fr]
& [Serial_To]
如果我只插入Serial_Fr
,我想填充Serial_To = Serial_Fr
。
我该怎么做?或者我应该使用触发器并设置default ='',在这样做时我认为当我有数百万个连续剧时它会造成压力。
答案 0 :(得分:0)
创建一个
视图CREATE VIEW MyView AS
SELECT
Serial_Fr,
Serial_To = COALESCE(Serial_To,Serial_Fr)
FROM MyTable
或者这可以在Stored Procedure
但是将Serial_To
中的某些条目保留为NULL
会出现什么问题?
修改强>
ISNULL
是T-sql
:COALESCE
是92标准sql。对这些函数HERE ON SO
Martin Smith也提到了一篇文章,其中有一个有趣的例子说明了一个区别:
DECLARE @test VARCHAR(2)
DECLARE @first VARCHAR(4)
DECLARE @second VARCHAR(4)
SELECT @first = ISNULL(@test, 'test')
SELECT @second = COALESCE(@test, 'test')
PRINT @first
PRINT @second