我试图在公司表的公司名称(cpnm)字段上进行选择,但只给我前6个字符,替换所有空格并使其小写。

SELECT *,
SUBSTRING(LOWER(cpnm), -LENGTH(cpnm), 6) as test
FROM company
LIMIT 100


上面的工作正常,但是一旦我尝试添加替换空间(如下所示),它就不会返回结果。

SELECT *,
SUBSTRING(LOWER(REPLACE(cpnm, ' ', '')), -LENGTH(cpnm), 6) as test
FROM company
LIMIT 100


有任何想法吗?

最佳答案

我猜想通过替换空格可以更改字符串的长度,因此substr()不能像您期望的那样工作。

试试SELECT *,SUBSTRING(LOWER(REPLACE(cpnm, ' ', '')), -LENGTH(REPLACE(cpnm, ' ', '')), 6) as test吧!

关于mysql - 使用SUBSTRING,LOWER和REPLACE命令的mysql SELECT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7767491/

10-10 13:43