gpt4 book ai didi

mysql - 如何选择所有更长、更短版本的字符串,以及字符串本身

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

获取“更长”、“更短”或相同的给定记录的所有条目的最优雅方法是什么。

这是一个例子:

表一

"1234567"   
"123456"
"12345"
"12346"
"12355"
"123"
"12"

假设原文是“12345”。然后我想从表 1 中选择“1234567”、“123456”(较长的版本)、“123”、“12”(较短的版本)以及原始的“12345”,但不是“12346”和“12355”。

我知道如何使用两个查询来完成此操作,但是是否可以使用单个查询来选择记录?

最佳答案

您可以使用以下内容:

SELECT col1, 
CASE WHEN col1 LIKE '12345%' AND LENGTH(col1) > LENGTH('12345') THEN 'longer'
WHEN col1 LIKE '12345%' AND LENGTH(col1) = LENGTH('12345') THEN 'same'
WHEN '12345' LIKE CONCAT(col1, '%') AND LENGTH(col1) < LENGTH('12345') THEN 'shorter'
ELSE '' END AS compared_length
FROM test

demo: https://www.db-fiddle.com/f/jzaz6GpfgZ3iBcnjiApybL/0

关于mysql - 如何选择所有更长、更短版本的字符串,以及字符串本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54388813/

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