我有一个值类似于“door left”的字段,我想将其更改为“door left”。我在这个网站上遇到这个问题:
UPDATE tbl SET field1 = CONCAT(UCASE(LEFT(field1, 1)), LCASE(SUBSTRING(field1, 2)));
上面的查询将“door left”更改为“door left”。我不想任何东西后-被更新。所以应该是“门左”。我该怎么做?
1u4esq0p1#
你可以用 sustring_index() 把绳子分开 '-' ,然后使用手头已有的逻辑:
sustring_index()
'-'
update tbl set field = concat( upper(left(substring_index(field1, '-', 1), 1)), lower(substr(substring_index(field1, '-', 1), 2)), '-', upper(substring_index(field1, '-', -1)) )
周围 upper() 在最后一部分中,示例字符串并不严格需要字符串,它从大写开始。我故意留着它,以防它对其他情况有用(而且也不会有什么坏处)。
upper()
1条答案
按热度按时间1u4esq0p1#
你可以用
sustring_index()
把绳子分开'-'
,然后使用手头已有的逻辑:周围
upper()
在最后一部分中,示例字符串并不严格需要字符串,它从大写开始。我故意留着它,以防它对其他情况有用(而且也不会有什么坏处)。