如何在字符串中添加条件?

时间:2014-11-20 18:08:03

标签: sql-server tsql

我需要测试字符串中的条件。我正在使用下面的简单条件,以使示例易于使用。但是,即使这个简单的例子在添加条件后也不起作用。我做错了什么?

SELECT '<p><input type="checkbox" name_' + CAST(mt.personid AS VARCHAR) +
  CASE WHEN 1=1 THEN
  'checked' +
  END
  '></p>' AS MyContent
from mytable mt

错误:

Incorrect syntax near the keyword 'END'

如果我在'检查'后删除加号,我会得到:

Incorrect syntax near the keyword 'AS'

1 个答案:

答案 0 :(得分:1)

试试这个。

SELECT '<p><input type="checkbox" name_' + CAST(mt.personid AS VARCHAR) +
  isnull(
  CASE 
    WHEN 1=1 THEN 'checked'
  END, '')
  +
  '></p>'
from mytable mt

或者这个(归功于@Lamak):

SELECT '<p><input type="checkbox" name_' + CAST(mt.personid AS VARCHAR) +
  CASE 
    WHEN 1=1 THEN 'checked'
    ELSE ''
  END
  +
  '></p>'
from mytable mt