案例...当 mysql 中有字符串时

发布于 2024-08-13 10:12:03 字数 180 浏览 3 评论 0原文

您好,我想要一些查询,例如

Select 
 case column1
  when column2 like '%Test%' then column 3
  else 0
 end
FROM myTable

在第 2 列中存储了 varchar。有人可以帮我解决这个问题吗?

Hi I want to have some query like

Select 
 case column1
  when column2 like '%Test%' then column 3
  else 0
 end
FROM myTable

in column2 there are varchars stored. Can someone help me with this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泼猴你往哪里跑 2024-08-20 10:12:03

这没有多大意义。
为什么你在column1上做了一个case,但之后完全忽略了这个值?
您是否只是将其复制并(w)粘贴到您的查询中?

无论如何,这就是我期望在任何普通 RDBMS 中工作的内容:

case
  when colum2 like ...then
    3
  else
    0
  end as abc

但是,我对 mySQL 的唯一了解是它通常所做的一切与普通 Joe RDMS 所做的不同。

That doesn't make much sense.
Why do you do a case on column1 but completely ignore that value afterwards?
Did you just copy and (w)paste that into your query?

Anyways, this is what I would expect to work in any of the ordinary RDBMS':

case
  when colum2 like ...then
    3
  else
    0
  end as abc

However, the only thing I know of mySQL is that it usually does everything different than your average Joe RDMS would do them.

自我难过 2024-08-20 10:12:03

您的意思是...

Select column3 from myTable where column2 like '%Test%'  
union all  
select 0 from myTable where column2 not like '%Test%'

请注意,“不喜欢”运算符可能会很慢

Do you mean something like...

Select column3 from myTable where column2 like '%Test%'  
union all  
select 0 from myTable where column2 not like '%Test%'

Note that the "not like" operator can be slow

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文