mysql是否具有返回带序数后缀的数字的功能?

Rob*_*Dam 1 mysql ordinals

基本上我在寻找类似的东西

SELECT ordinal(my_number) FROM my_table
Run Code Online (Sandbox Code Playgroud)

哪会回来

1st
11th
1071st
...
etc
Run Code Online (Sandbox Code Playgroud)

但最好不使用存储过程

Ken*_*Ken 7

我不知道内置函数,但它很容易编写:

SELECT
  CONCAT(my_number, CASE
    WHEN my_number%100 BETWEEN 11 AND 13 THEN "th"
    WHEN my_number%10 = 1 THEN "st"
    WHEN my_number%10 = 2 THEN "nd"
    WHEN my_number%10 = 3 THEN "rd"
    ELSE "th"
  END)
FROM my_table;
Run Code Online (Sandbox Code Playgroud)