Sql 如何使用CHARINDEX在另一个字符串中搜索字符串?

Sql 如何使用CHARINDEX在另一个字符串中搜索字符串?,sql,Sql,我正在尝试使用CHARINDEX在另一个字符串中搜索一个字符串 我的代码示例如下所示: declare @TypeBigAC char(3) select @TypeBigAC='333' CASE WHEN CHARINDEX(@TypeBigAC, [ACType Iata])<>0 THEN ' Big AC' ELSE '' SELECT CASE WHEN CHARINDEX('333',[ACType Iata]) > 0 THEN 'Bi

我正在尝试使用CHARINDEX在另一个字符串中搜索一个字符串

我的代码示例如下所示:

declare @TypeBigAC char(3)
select @TypeBigAC='333'
CASE WHEN CHARINDEX(@TypeBigAC, [ACType Iata])<>0 THEN ' Big AC' ELSE ''
SELECT
    CASE
        WHEN CHARINDEX('333',[ACType Iata]) > 0 THEN 'Big AC'
        WHEN CHARINDEX('340',[ACType Iata]) > 0 THEN 'Big AC'
        WHEN CHARINDEX('332',[ACType Iata]) > 0 THEN 'Big AC'
        ELSE ''
    END AS MyColumn
FROM
    [MyTable]
declare@TypeBigAC char(3)
选择@TypeBigAC='333'
当CHARINDEX(@TypeBigAC,[ACType Iata])为0时,则为“Big AC”或“ELSE”
这段代码可以工作,但是,我希望@TypeBigAC的默认值大于1。例如,当在[ACType Iata]中可以找到@TypeBigAC“333”或“340”或“332”时,我希望返回“Big AC”


如何做到这一点?

根据我对你所问问题的理解,听起来你想要这样的东西:

declare @TypeBigAC char(3)
select @TypeBigAC='333'
CASE WHEN CHARINDEX(@TypeBigAC, [ACType Iata])<>0 THEN ' Big AC' ELSE ''
SELECT
    CASE
        WHEN CHARINDEX('333',[ACType Iata]) > 0 THEN 'Big AC'
        WHEN CHARINDEX('340',[ACType Iata]) > 0 THEN 'Big AC'
        WHEN CHARINDEX('332',[ACType Iata]) > 0 THEN 'Big AC'
        ELSE ''
    END AS MyColumn
FROM
    [MyTable]

添加列
[ACType Iata]
的一些示例数据。这可能是另一种方法。谢谢你,尼卡鲁斯。