MSSQL案例说明

时间:2018-11-08 11:13:53

标签: sql sql-server tsql

我想创建一个只向我显示其中包含%的值的视图。

我尝试关注

node_modules

但是我得到了错误 ','附近的语法不正确。

有什么主意吗?

1 个答案:

答案 0 :(得分:5)

您的alter view语句中缺少以下两点:

一个是end之后的case,另一个是该列的别名。

Alter VIEW [dbo].[history] as

select 

[objid]
      ,[interval]
      ,[value_channel]
      ,[value_channelid]
      ,case when [value_text] like '[%]' then right([value_text],2) end as value_text
      ,[value_raw_text]
      ,[coverage_raw]

from .....

您可能还想在else表达式中添加case,否则当条件不匹配时,它将简单地返回null

Alter VIEW [dbo].[history] as

select 

[objid]
      ,[interval]
      ,[value_channel]
      ,[value_channelid]
      ,case when [value_text] like '[%]' then right([value_text],2) else [value_text] end as value_text
      ,[value_raw_text]
      ,[coverage_raw]

from .....