gpt4 book ai didi

php - 如何在 PHP 中从数据库中订购字符串格式?

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:56 25 4
gpt4 key购买 nike

我有这样的数字:666/2014、01/2014、1/2014、02/2014、125/2014、06/2014 ...等作为数据库中名为“n_inscription”的字符串。我想从数据库中检索 ORDER 中的那些字符串

我用过这个:

$sql_students = $bd->query("SELECT * FROM `es_student_infos`
WHERE school_year='$school_year'
ORDER BY right(n_inscription, 4) * 1,
substring_index(n_inscription, '/', 1) * 1");

我得到这样的结果:01/2014,02/2014,06/2014,1/2014,125/2014,666/2014

我要找的结果是这样的:01/2014,1/2014,02/2014,06/2014,125/2014,666/2014

有什么建议吗?

最佳答案

最好的方法可能是规范化输入,这样正常的排序就可以按照您的意愿进行。例如,将学号和年份存储在两个单独的 INTEGER 列中,然后按 ORDER BY studentNumber ASC, inscriptionYear ASC

如果那绝对不可能:

SELECT
*
FROM
es_student_infos
ORDER BY
CAST(RIGHT(n_inscription, 4) AS UNSIGNED) ASC,
CAST(LEFT(n_inscription, LOCATE('/', n_inscription) - 1) AS UNSIGNED) ASC

演示解决方案的 fiddle 链接:http://sqlfiddle.com/#!2/a5538/1/0

关于php - 如何在 PHP 中从数据库中订购字符串格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27206374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com