排序的mysql新手,在Excel中我会做类似'IsProper'的事情,但我想在这里找到的是字符串大写中第二个单词的第一个字母是不是?或者甚至是字段Init Caps中的所有单词?
答案 0 :(得分:2)
获取第二个单词的第一个字母为大写的所有行的一种方法
SELECT t.*, SUBSTRING_INDEX(SUBSTRING_INDEX(column1, ' ', 2), ' ', -1) second_word
FROM Table1 t
WHERE CHAR_LENGTH(column1) - CHAR_LENGTH(REPLACE(column1, ' ', '')) > 1
HAVING BINARY LEFT(second_word, 1) = BINARY UPPER(LEFT(second_word, 1))
给出像这样的样本数据
| ID | COLUMN1 | --------------------------- | 1 | first second third | | 2 | first Second third | | 3 | first | | 4 | NULL |
查询的输出
| ID | COLUMN1 | SECOND_WORD | ----------------------------------------- | 2 | first Second third | Second |
这是 SQLFiddle 演示