gpt4 book ai didi

mysql - 如何删除 MySQL 字段中的前导和尾随空格?

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

我有一个包含两个字段(国家/地区和 ISO 代码)的表:

Table1

field1 - e.g. 'Afghanistan' (without quotes)
field2 - e.g. 'AF'(without quotes)

在某些行中,第二个字段在开头和/或结尾处有空格,这会影响查询。

Table1

field1 - e.g. 'Afghanistan' (without quotes)
field2 - e.g. ' AF' (without quotes but with that space in front)

有没有办法(在 SQL 中)遍历表并查找/替换 field2 中的空格?

最佳答案

您正在寻找TRIM .

UPDATE FOO set FIELD2 = TRIM(FIELD2);
<小时/>

似乎值得一提的是 TRIM 可以支持多种类型的空白,但一次只能支持一种,并且默认情况下会使用空格。不过,您可以嵌套 TRIM

 TRIM(BOTH ' ' FROM TRIM(BOTH '\n' FROM column))

如果您确实想在一次调用中删除所有空格,最好将 REGEXP_REPLACE[[:space: ]] 表示法。这是一个例子:

SELECT 
-- using concat to show that the whitespace is actually removed.
CONCAT(
'+',
REGEXP_REPLACE(
' ha ppy ',
-- This regexp matches 1 or more spaces at the beginning with ^[[:space:]]+
-- And 1 or more spaces at the end with [[:space:]]+$
-- By grouping them with `()` and splitting them with the `|`
-- we match all of the expected values.
'(^[[:space:]]+|[[:space:]]+$)',

-- Replace the above with nothing
''
),
'+')
as my_example;
-- outputs +ha ppy+

关于mysql - 如何删除 MySQL 字段中的前导和尾随空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48280029/

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