我有跟随表架构
declare @temp table
(
id int identity(1,1) not null,
nod nvarchar(50)
)
其中nod
列包含以下数据
insert into @temp select 'N/A'
insert into @temp select 'N/A'
insert into @temp select '5'
insert into @temp select 'N/A'
insert into @temp select '7'
insert into @temp select 'N/A'
insert into @temp select '31'
insert into @temp select '15'
我想要那个选择的遗产,请根据以下基础给我结果
如果nod
值为'N/A'
,则应显示'N/A'
或者如果有任何数值如5,15,31那么它应该显示getdate()-nod date
日期列
我已尝试过关注但未能减去日期,并且在该nvarchar列中的'N/A'
时代表'N/A'
select DATEADD(dd,case nod when 'N/A' then 0 else nod end,GETDATE()) from @temp
答案 0 :(得分:1)
以下查询将返回VARCHAR(50)
列,其中包含“N / A”或now - nod
日期为varchar。
SELECT
CASE nod
WHEN 'N/A' THEN 'N/A'
ELSE CONVERT(VARCHAR(50),
DATEADD(dd,
-1 * CONVERT(INT, nod),
GETDATE()
)
)
END
FROM @temp