在MySQL的一栏中,我具有如下所示的数据。
column_1
------------------
TEST00001XXXX
TEST0003302XX
TEST000403XXX
TEST00004
TEST00003444XXXX
我想找到每个字符串末尾附加的“ X”的数量。
注意:
预期结果:
column_1 | column_2
--------------------------------
TEST00001XXXX | 4
TEST0003302XX | 2
TEST000403XXX | 3
TEST00004 | 0
TEST00003444XXXX | 4
答案 0 :(得分:1)
您可以像这样使用TRIM:
SELECT column_1,
LENGTH(column_1) - LENGTH(TRIM(TRAILING 'X' FROM column_1)) AS column_2
FROM mytable
答案 1 :(得分:0)
使用 LENGTH 和 REPLACE ,您可以实现以下目标:
SELECT column_1, LENGTH(column_1) - LENGTH(REPLACE(column_1, 'X', '')) AS column_2
示例执行:
CREATE TABLE my_table (column_1 VARCHAR (100));
INSERT INTO my_table (column_1) VALUES
('TEST00001XXXX'),
('TEST0003302XX'),
('TEST000403XXX'),
('TEST00004'),
('TEST00003444XXXX');
SELECT column_1, LENGTH(column_1) - LENGTH(REPLACE(column_1, 'X', '')) AS column_2
FROM my_table
输出:
column_1 column_2
--------------------------------
TEST00001XXXX 4
TEST0003302XX 2
TEST000403XXX 3
TEST00004 0
TEST00003444XXXX 4