gpt4 book ai didi

php - 删除 MySQL 中的尾随空格

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

为什么我的 SELECT 没有忽略空格,为什么 TRIM 似乎没有效果?

下面是类似 SELECT DISTINCT crop_year from raw_data 的部分结果:

Rows    crop_year
105755 '2010'
12326 '2010 '
256363 '2011'
319321 '2011 '
...

我输入了单引号来说明尾随空格这一事实。

我的生产服务器上有 2 个问题...我无法在本地复制:

一个。我希望 SELECT 忽略空格,正如许多其他问题以及 MySQL Docs 中所解释的那样,但在我的产品服务器上显然不能以这种方式工作。

B.我希望 UPDATE raw_data SET crop_year = TRIM(crop_year) 能够解决问题,但运行此查询会导致 0 行受影响。

其他背景:此列类型为 VARCHAR(11)。如果相关,表包含混合存储引擎和排序规则:此表是 MyISAM,此列当前是 latin1_swedish_ci。

PS:在这种特定情况下,年份始终是一个 4 位数的值,所以我最终将该列从 VARCHAR(11) 更改为 CHAR(4)... 这有效地减少了空白,但我仍在发布问题,因为我发现我很可能会在其他非固定长度的列上遇到类似的问题。

最佳答案

this question 的帮助下弄清楚了. TRIM 不尊重所有空白……只是空格。就我而言,我需要:

select distinct trim(BOTH '\r' from crop_year) as crop_year FROM raw_field_data

其他变体可能包括

select distinct trim(BOTH '\n' from crop_year) as crop_year FROM raw_field_dataselect distinct trim(BOTH '\n\r' from crop_year) 作为 crop_year FROM raw_field_data

关于php - 删除 MySQL 中的尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29223363/

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