如何从 MySQL 中的 varchar 列中获取大于特定值的值?
mysqlmysqli database
由于您想要获取大于特定值的列是 VARCHAR,因此请使用 CAST() 函数。例如,从具有 varchar 值的列中获取大于 999 的值。
首先我们创建一个表 −
mysql> create table DemoTable ( Value varchar(100) ); Query OK, 0 rows affected (1.02 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable values('900'); Query OK, 1 row affected (0.49 sec) mysql> insert into DemoTable values('1090'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('860'); Query OK, 1 row affected (0.25 sec) mysql> insert into DemoTable values('12345'); Query OK, 1 row affected (0.30 sec) mysql> insert into DemoTable values('908345'); Query OK, 1 row affected (0.16 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable;
这将产生以下输出 −
+--------+ | Value | +--------+ | 900 | | 1090 | | 860 | | 12345 | | 908345 | +--------+ 5 rows in set (0.00 sec)
以下是从 varchar 列中获取大于特定值的值的查询 −
mysql> select max(cast(Value AS SIGNED)) from DemoTable;
这将产生以下输出 −
+----------------------------+ | max(cast(Value AS SIGNED)) | +----------------------------+ | 908345 | +----------------------------+ 1 row in set (0.05 sec)