sql取值为纯数字且大于某个值

sql如何把某些值取出来?
取值条件为当a列为纯数字并且这些值大于36时则取出来。

SELECT *
FROM table_name
WHERE a > 36 AND a REGEXP '^[0-9]+$'
在上述查询中,我们使用了两个条件来筛选行:

"a"列的值大于36:这通过"WHERE"子句中的条件"a > 36"实现。
"a"列的值必须是纯数字:这通过"WHERE"子句中的正则表达式"REGEXP '^[0-9]+$'"实现。该正则表达式检查"a"列的值是否只包含数字字符。
请注意,在某些SQL数据库中,正则表达式语法可能会略有不同。因此,如果您遇到任何问题,请参考您使用的SQL数据库的文档。


SELECT * FROM mytable WHERE a > 36 AND a REGEXP '^[0-9]+$';

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/366846
  • 除此之外, 这篇博客: 墨者学院SQL注入(时间盲注)中的 a.函数简介: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • if(a,b,c):
    a 是条件 。
    b 是当a为True时执行的动作,也就是满足条件是执行的动作 。
    c 是当a为False时执行的动作,也就是不满足条件是执行的动作。

    length(a):
    返回a的长度。

    substr(a,b,c):
    a 是被当作目标的字符串。
    b 是开始截取的位置。
    c 是截取的长度。

    limit 0,1
    从索引值为0的行数开始拉去一行。(mysql索引值从0开始)

    ascii(a):
    将字符a转化为asc码。