gpt4 book ai didi

mysql - 非英语语言的子字符串

转载 作者:行者123 更新时间:2023-11-30 00:26:21 25 4
gpt4 key购买 nike

如果字符串包含特定关键字,我想从字符串中删除最后三个字符。它对我有用,但是当我使用英语以外的其他语言(如俄语或西类牙语)时,我的查询不起作用。这是我的查询:

SELECT case when 'Época Cosméticos_T2' like '%\_T_' 
then substring(trim('Época Cosméticos_T2'),1,length(trim('Época Cosméticos_T2'))-3)
else 'Época Cosméticos_T2' end test

结果:

Época Cosméticos_T

如果我删除字符 Éé 那么查询将起作用。我怎样才能使我的查询也适用于这些字符。

最佳答案

使用 CHAR_LENGTH() 函数代替 LENGTH() 函数。

LENGTH() 函数以字节而非字符报告长度。

CHAR_LENGTH() 报告字符长度; SUBSTRING() 函数也可对字符进行操作。

如果字符串中的所有字符都是单个字节,则 LENGTH() 和 CHAR_LENGTH() 返回相同的值。对于多字节字符,差异变得明显:

SELECT CHAR_LENGTH('Época Cosméticos_T2') AS _char_length
, LENGTH('Época Cosméticos_T2') AS _length

_char_length _length
------------ -------
19 21

关于mysql - 非英语语言的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22843585/

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