我的表中有一个列,像这样,
students
--------
abc23
def1
xyz567
......
等等。现在我需要像名字一样的输出 需要输出为
students
--------
abc
def
xyz
我怎样才能在mysql中得到它。谢谢你。
答案 0 :(得分:2)
你可以使用string functions和一些CAST()
魔法:
SELECT
SUBSTR(
name,
1,
CHAR_LENGTH(@name) - CHAR_LENGTH(
IF(
@c:=CAST(REVERSE(name) AS UNSIGNED),
@c,
''
)
)
)
FROM
students
例如:
SET @name:='abc12345'; mysql> SELECT SUBSTR(@name, 1, CHAR_LENGTH(@name) - CHAR_LENGTH(IF(@c:=CAST(REVERSE(@name) AS UNSIGNED), @c, ''))) AS name; +------+ | name | +------+ | abc | +------+