Mysql 奇偶字符串的中间函数/查询

Mysql 奇偶字符串的中间函数/查询,mysql,Mysql,我需要一个查询,它给出两个偶数字符串的中间字符和一个奇数字符串的中间字符 目前我正在使用这段代码,但它给出了一个错误 SELECT S_name, MID(S_name, LENGTH(S_name)/2,1) WHERE (LENGTH(S_name) %2) = 1 OR/AND SELECT S_Name, MID(S_name,LENGTH(S_name)/2,2) WHERE (LENGTH(S_name)%2)=0 FROM Student; 我也尝试过这段代码,但它返回的是空视图

我需要一个查询,它给出两个偶数字符串的中间字符和一个奇数字符串的中间字符

目前我正在使用这段代码,但它给出了一个错误

SELECT S_name, MID(S_name, LENGTH(S_name)/2,1) WHERE (LENGTH(S_name) %2) = 1 OR/AND SELECT S_Name, MID(S_name,LENGTH(S_name)/2,2) WHERE (LENGTH(S_name)%2)=0 FROM Student;
我也尝试过这段代码,但它返回的是空视图/表

SELECT S_name FROM Student WHERE ((LENGTH(S_name) %2) = 1 AND SUBSTRING(S_name, LENGTH(S_name)/2+1, 1)) OR ((LENGTH(S_name) %2) = 0 AND SUBSTRING(S_name, LENGTH(S_name)/2-1, 2)) 

请看一下并指出我的错误。

您想在
select
子句中使用
case

select s_name,
       (case when length(s_name) % 2 = 0 then substring(s_name, length(s_name)/2, 2)
             else substring(s_name, 1 + length(s_name) / 2, 1)
        end)
from student;

如果您遇到错误,请发布错误。请参阅关于调试帮助。