如何从 MySQL 中的 varchar 列获取大于某个特定值的值?
由于想要获取其值大于特定值的列是 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)
广告