gpt4 book ai didi

mysql - MySQL 中没有功能的按正则表达式排序?

转载 作者:行者123 更新时间:2023-11-30 00:20:34 26 4
gpt4 key购买 nike

我需要按以下方式订购 varchar 列:100、110、120、[...]1490、1495、1495.1、1495.2、1495.3 等。

在另一个问题的帮助下,我创建了这个函数:

    CREATE FUNCTION isNumeric(value VARCHAR(1024))
RETURNS TINYINT(1) DETERMINISTIC
RETURN value REGEXP '^(-|\\+)?([0-9]+\\.[0-9]*|[0-9]*\\.[0-9]+|[0-9]+)$';

然后将其添加到我的查询中:

    ORDER BY isNumeric(ItemCode) DESC, CASE WHEN isNumeric(ItemCode) = 1 THEN CAST(ItemCode as UNSIGNED) ELSE NULL END, ItemCode

效果很好。不幸的是,当我在实时服务器上尝试此操作时,我无法创建该函数。 “mysql.proc 的列计数错误。预期为 20,发现为 16。使用 MySQL 50067 创建,现在运行 50147。请使用 mysql_upgrade 修复此错误。”我的老板说我们不能运行更新,以防它破坏某些东西,所以我希望有人可以帮助我在没有功能的情况下实现同样的目标。谢谢!

最佳答案

    ORDER BY ABS(ItemCode)

这对我有用。谢谢 M Khalid。

关于mysql - MySQL 中没有功能的按正则表达式排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273844/

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