SQL:对字段使用like命令在SQL输出中设置值

SQL:对字段使用like命令在SQL输出中设置值,sql,Sql,我正在通过SQL生成Excel报告,但知识有限 到目前为止,我掌握的情况如下: SELECT table.field "Column1", table2.field2 "Column2", table3.field3 "Column3", table4.field4 "Column4", from table, table2 etc 那里有很多规则 我需要的是根据表中的字段(类似于5个输入字符串之一)向报表中添加第5列。然后我需要返回字段中不

我正在通过SQL生成Excel报告,但知识有限

到目前为止,我掌握的情况如下:

SELECT  table.field "Column1",
        table2.field2 "Column2",
        table3.field3 "Column3",
        table4.field4 "Column4",

from table, table2 etc
那里有很多规则

我需要的是根据表中的字段(类似于5个输入字符串之一)向报表中添加第5列。然后我需要返回字段中不存在的5个输出字符串中的1个

伪代码中的示例:

if table.field like one return eleven
if table.field like two return twelve
if table.field like three return thirteen
if table.field like four return fourteen
if table.field like five return fifteen
然后我需要在报告的第5列中填充返回值

如果有人能帮我或给我指出正确的方向,我将不胜感激。如果你有任何问题要问我,请回答

谢谢

试试

例如:

USE AdventureWorks2008R2;
GO
SELECT   ProductNumber, Category =
      CASE ProductLine
         WHEN 'R' THEN 'Road'
         WHEN 'M' THEN 'Mountain'
         WHEN 'T' THEN 'Touring'
         WHEN 'S' THEN 'Other sale items'
         ELSE 'Not for sale'
      END,
   Name
FROM Production.Product
ORDER BY ProductNumber;
GO
编辑

要查找子字符串,请尝试CHARINDEX:

USE AdventureWorks2008R2;
GO
SELECT FirstName, LastName, TelephoneNumber, 'NewField' = 
     CASE
          WHEN CHARINDEX('testString1', Address) > 0 THEN 'Value1'
          WHEN CHARINDEX('testString2', Address) > 0 THEN 'Value2'
          WHEN CHARINDEX('testString3', Address) > 0 THEN 'Value4'
          ELSE 'Value4'
     END
FROM Person.vAdditionalContactInfo;

一个更具体的例子会有所帮助,但听起来你需要这样的东西:

SELECT
  Field1,
  Field2,
  CASE WHEN Field1 = Field2 THEN 'X'
       WHEN Field1 = Field2 THEN 'Y'
       ELSE 'Unrecognized value' END AS CalculatedField
FROM
  Table

谢谢你的帮助。我已经能够使用该查询正确返回所需的数据。但是,我在将它嵌入到另一个查询中时遇到了困难。我需要从sql返回的数据成为excel电子表格中的第五列。你能告诉我怎么做吗?