Mysql如何使用ISNUMERIC()?

时间:2013-07-18 09:51:27

标签: mysql sql-server isnumeric

在MSSQL中我使用如下的查询,它会根据我在$ search:text或numbers中的内容进行不同的查询。

$query="
                IF (isnumeric('$search')=0)
                SELECT *
                FROM giper
                WHERE `name` LIKE '%$search%'
                ORDER BY `art`, `name`
                LIMIT 20

                ELSE
                SELECT *
                FROM giper
                WHERE `art` LIKE '$search%'
                ORDER BY `art`, `name`
                LIMIT 20";

我如何在MySQL中做同样的事情?

谢谢。

3 个答案:

答案 0 :(得分:1)

也许这可以帮到你

            SELECT *
            FROM giper
            WHERE `name` LIKE '%$search%' OR `art` LIKE '$search%'
            ORDER BY `art`, `name`
            LIMIT 20

   SELECT *
          FROM giper
          WHERE if ('$search'=0 ,`name` LIKE '%$search%' , `art` LIKE '$search%')
          ORDER BY `art`, `name`
          LIMIT 20

答案 1 :(得分:1)

SELECT 语句中,您可以在 WHERE 条件中使用 OR ,它可以是

   SELECT * FROM giper
      WHERE name LIKE '%$search%' OR art LIKE '$search%'
      ORDER BY art, name LIMIT 20

答案 2 :(得分:0)

您可以获得SELECT,因为您只希望不是数字$search val

SELECT * FROM giper
WHERE (name LIKE '%$search%' OR art LIKE '$search%')
and '$search' NOT REGEXP '^-?[0-9]+$'
ORDER BY art, name LIMIT 20