gpt4 book ai didi

MySql 修剪字符直到一个空格

转载 作者:行者123 更新时间:2023-11-29 04:42:23 26 4
gpt4 key购买 nike

如何修剪(删除)字符串右侧到第一个空格的所有字符?

这是我正在尝试做的事情:

set @s:='May the Gods watch over your battles, my friend!';

select if(length(@s) < 10,@s,left(@s,10)) a;

#output from above: 'May the Go'

#desired output: 'May the'

为了避免像 May the Go 这样奇怪的输出,我试图从右边修剪所有字符,直到第一个空格,所以输出是 May the

如何在 sql 语句本身中完成此操作。我找不到可以执行此操作的内置函数?

最佳答案

这在 Microsoft SQL 中有效,如果您将 CHARINDEX 替换为 INSTR,它应该有效

select substring(@s,1,charindex(' ',reverse(@s)))

在下面添加了我的 SQL fiddle 版本,与 Microsoft SQL 中的工作方式略有不同

http://sqlfiddle.com/#!2/d41d8/44718

select @s,left(@s,10-locate(' ',reverse(@s)));

数据库中的例子

select theFld, 
CASE
WHEN length(theFld) <= 20 THEN theFld
ELSE
left(theFld,20-locate(' ',reverse(left(theFld,20))))
END as Abbr
FROM example;

请参阅此 SQL fiddle :http://sqlfiddle.com/#!2/beac7/6

关于MySql 修剪字符直到一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25822775/

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