0?-6ren"> 0?--- Remove leading and trailing double quotes from productname SELECT ProductName, TRIM(BOTH '"' FROM-6ren">
gpt4 book ai didi

mysql - 为什么在尝试删除前导和尾随引号时添加locate ('"', ProductName)>0?

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

-- Remove leading and trailing double quotes from productname
SELECT ProductName, TRIM(BOTH '"' FROM ProductName) AS ProductName_trim
FROM superstore.product
WHERE LOCATE('"', ProductName) > 0
ORDER BY LENGTH(ProductName);

这是结果记录之一:

"Elite 5"" Scissors", Elite 5"" Scissors

第一个 "不是位于原始 ProductName 中的位置 0 吗?

最佳答案

显然,查询的目的是仅显示 trim() 可能正在执行某些操作的结果。

在 SQL 中,字符串中的位置计数(通常)从 1 开始,而不是从 0 开始。0 用于指示没有匹配。

我建议将其写为:

SELECT p.ProductName, TRIM(BOTH '"' FROM p.ProductName) AS ProductName_trim
FROM superstore.product p
WHERE p.ProductName LIKE '%"%'
ORDER BY LENGTH(p.ProductName);

我认为使用 LIKE 的意图更清晰。

关于mysql - 为什么在尝试删除前导和尾随引号时添加locate ('"', ProductName)>0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47111942/

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