如果行为空(''),我将如何设置值?
我在想类似的东西,
使用名为@defaultValue的默认值获取var,将其设置为表格中的行所在的位置。
if (select col1 from table1 where col1 = '')
set (select col1 from table1 where col1 = '') = @DefaultValue
有更好的方法吗?
代码只是一个甚至没有经过测试的草案..
答案 0 :(得分:1)
如果您想使用@DefaultValue
更新表格,可以在WHERE
查询中使用UPDATE
子句:
UPDATE table1
SET col1=@DefaultValue
WHERE col1=''
OR col1 IS NULL
或强>
如果您尝试选择@DefaultValue
如果列为空或为空,则可以执行以下操作:
SELECT CASE WHEN (col1 IS NULL OR col1='')
THEN @DefaultValue
ELSE col1
END AS Col1
FROM table1
答案 1 :(得分:0)
select case when col1 ='' then @DefaultValues else col1 end from table
declare @default int
set @default=1
declare @tbl table(col1 int)
insert into @tbl values(1),(''),(2)
select case when col1='' or col1 is null then @default else col1 end from @tbl