gpt4 book ai didi

MySQL : Display value in a specific column based on a condition

转载 作者:行者123 更新时间:2023-11-29 07:18:58 26 4
gpt4 key购买 nike

我有一个场景,我需要根据条件在特定列中显示一个值。详细地说,我有一个值,它是从某个列中获得的,该列的值包含字符串“a beautiful day”。我有四列; columnA、columnB、columnC、columnD,其中我需要根据条件仅在四列之一中显示此值。

如果这个值“a beautiful day”包含等于或多于 3'a,那么我需要将它显示在 columnA 中,其余列应该为空。如果它包含 2 个“a”,我需要将它显示在 columnB 中,如果有 1 个“a”columnC,如果没有“a”,则显示在 columnD 中。

应该是这样的:

+-------------------+-------------------+-----------+-----------+-----------+
| stringValue | columnA | columnB | columnC | columnD |
+-------------------+-------------------+-----------+-----------+-----------+
| a beautiful day |a beautiful day | | | |
| Chelsea F C | | |Chelsea F C| |
+-------------------+-------------------+-----------+-----------+-----------+

这可以在 MySql 中实现吗?如果可能,请向我解释如何操作。

提前致谢。

最佳答案

您可以检查将“a”替换为“”之前和之后的长度

select case when (length(stringValue ) - length(replace(stringValue, 'a',''))) >= 3 
then stringValue else null end columnA
, case when (length(stringValue ) - length(replace(stringValue, 'a','')))= 2
then stringValue else null end columnB
, case when (length(stringValue ) - length(replace(stringValue, 'a',''))) = 1
then stringValue else null end columnC
, case when (length(stringValue ) - length(replace(stringValue, 'a',''))) = 0
then stringValue else null end columnD
FROM my_table

关于MySQL : Display value in a specific column based on a condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57407417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com