【问题标题】:MYSQL ORDER BY Number in stringMYSQL ORDER BY 字符串中的数字
【发布时间】:2022-01-07 16:23:05
【问题描述】:

我的表中有如下数据。但我无法排序,因为数字在字符串的末尾。

只有 4 位数的年份信息在用户结束时可用

我想在文章末尾按年份排序,可以吗?

Users column

USER-A-2021
USER-B-2018
USER-C-2019
USER-D-2017
USER-E-2020
USER-F-2016

【问题讨论】:

  • select * from [tablename] order by right(Users,4)

标签: mysql mariadb sql-order-by


【解决方案1】:

类似这样的使用RIGHT(str,len)

RIGHT - 从字符串 str 返回最右边的 len 个字符,或者 如果任何参数为 NULL,则为 NULL。

SELECT *
FROM data
ORDER BY RIGHT(info, 4)

CREATE TABLE data (
 info varchar(20)
);

INSERT INTO data VALUES
('USER-A-2021'),
('USER-B-2018'),
('USER-C-2019'),
('USER-D-2017'),
('USER-E-2020'),
('USER-F-2016');

【讨论】:

    【解决方案2】:
    select *from Users order by right(UserId,4) asc;
    

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      相关资源
      最近更新 更多