使用MySQL IF Locate查找2个不同的字符串

时间:2014-07-07 07:45:18

标签: mysql

我有一个查询部分地执行此操作:

IF((LOCATE('Linux', LOWER(computers.os)) = 0), 
'Workstation', 'Server')AS 'Machine Type', computers.os AS 'OS version'

我想添加此内容,并使用 ' server'分配任何内容。 ' linux'在computers.os列中并将它们称为服务器。

我怎样才能最好地实现这一目标?

感谢您的帮助。关心彼得。

好的,我可以做到这一点的方法是' case'

case computers.os when 'server' then 'Server' when 'linux' then 'Server' else 'Workstation' end as Machine Type

但是,在这种情况下,没有任何东西可以匹配服务器'或者' linux'精确。我需要在computers.os列中找到这些字符串。有没有办法可以像服务器那样使用'或包含'服务器'进入案例陈述?

感谢。

1 个答案:

答案 0 :(得分:0)

进一步的挖掘和测试表明,这将做我想做的事。

case when computers.os like '%server%' then 'Server' when computers.os like '%Linux%' then 'Server' else 'WorkStation' end as 'Machine Type'