不多说先看sql:
查看有的数据:
mysql> select check_no,check_run_number from ap_check_run where check_run_number = 'CHECK_RUN1100007';
| 140 | CHECK_RUN1100007 |
| 140 | CHECK_RUN1100007 |
| 96 | CHECK_RUN1100007 |
| 96 | CHECK_RUN1100007 |
| 96 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 99 | CHECK_RUN1100007 |
| 99 | CHECK_RUN1100007 |
| 108 | CHECK_RUN1100007 |
| 136 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 144 | CHECK_RUN1100007 |
| 144 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 98 | CHECK_RUN1100007 |
| 103 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 134 | CHECK_RUN1100007 |
+----------+------------------+
553 rows in set (0.00 sec)
求最小值:
mysql> select min(check_no) from ap_check_run where check_run_number = 'CHECK_RUN1100007';
+---------------+
| min(check_no) |
+---------------+
| 100 |
+---------------+
1 row in set (0.00 sec)
很明显以上有98、99,96;再看求最大值:
mysql> select max(check_no) from ap_check_run where check_run_number = 'CHECK_RU
N1100007';
+---------------+
| max(check_no) |
+---------------+
| 99 |
+---------------+
1 row in set (0.02 sec)
很明显超过99的太多了 ,而且最大值还比最小小。
很是找不到方向,请问怎么回事,在线等待!!!下面是表结构:
mysql> desc ap_check_run;
+---------------------+---------------+------+-----+-------------------+-------+| Field | Type | Null | Key | Default | Extra |+---------------------+---------------+------+-----+-------------------+-------+| check_run_number | varchar(20) | NO | PRI | NULL | || ap | varchar(20) | NO | PRI | NULL | || status | varchar(20) | NO | | NULL | || ap_status | varchar(20) | NO | | NULL | || LUSER | varchar(40) | NO | | NULL | || LDATE | timestamp | YES | | CURRENT_TIMESTAMP | || LCHNG | int(11) | NO | | 0 | || check_no | varchar(40) | NO | | NULL | || memo | varchar(50) | NO | | NULL | || po | varchar(10) | NO | | NULL | || rn | varchar(11) | NO | | NULL | || id | varchar(10) | NO | MUL | NULL | || to_be_paid | decimal(18,2) | NO | | 0.00 | || currency | varchar(3) | NO | | NULL | || exchange | decimal(18,4) | NO | | 1.0000 | || language | varchar(2) | NO | | NULL | || vendor_invoice | varchar(40) | NO | | NULL | || vendor_total | decimal(18,2) | NO | | 0.00 | || vendor_invoice_date | date | YES | | NULL | || paydate | date | YES | | NULL | || due | decimal(18,2) | NO | | 0.00 | || ap_total | decimal(18,2) | NO | | 0.00 | || paid | decimal(18,2) | NO | | 0.00 | || tn | varchar(10) | NO | | NULL | |+---------------------+---------------+------+-----+-------------------+-------+24 rows in set (0.00 sec)
查看有的数据:
mysql> select check_no,check_run_number from ap_check_run where check_run_number = 'CHECK_RUN1100007';
| 140 | CHECK_RUN1100007 |
| 140 | CHECK_RUN1100007 |
| 96 | CHECK_RUN1100007 |
| 96 | CHECK_RUN1100007 |
| 96 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 110 | CHECK_RUN1100007 |
| 99 | CHECK_RUN1100007 |
| 99 | CHECK_RUN1100007 |
| 108 | CHECK_RUN1100007 |
| 136 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 128 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 144 | CHECK_RUN1100007 |
| 144 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 139 | CHECK_RUN1100007 |
| 98 | CHECK_RUN1100007 |
| 103 | CHECK_RUN1100007 |
| 135 | CHECK_RUN1100007 |
| 134 | CHECK_RUN1100007 |
+----------+------------------+
553 rows in set (0.00 sec)
求最小值:
mysql> select min(check_no) from ap_check_run where check_run_number = 'CHECK_RUN1100007';
+---------------+
| min(check_no) |
+---------------+
| 100 |
+---------------+
1 row in set (0.00 sec)
很明显以上有98、99,96;再看求最大值:
mysql> select max(check_no) from ap_check_run where check_run_number = 'CHECK_RU
N1100007';
+---------------+
| max(check_no) |
+---------------+
| 99 |
+---------------+
1 row in set (0.02 sec)
很明显超过99的太多了 ,而且最大值还比最小小。
很是找不到方向,请问怎么回事,在线等待!!!下面是表结构:
mysql> desc ap_check_run;
+---------------------+---------------+------+-----+-------------------+-------+| Field | Type | Null | Key | Default | Extra |+---------------------+---------------+------+-----+-------------------+-------+| check_run_number | varchar(20) | NO | PRI | NULL | || ap | varchar(20) | NO | PRI | NULL | || status | varchar(20) | NO | | NULL | || ap_status | varchar(20) | NO | | NULL | || LUSER | varchar(40) | NO | | NULL | || LDATE | timestamp | YES | | CURRENT_TIMESTAMP | || LCHNG | int(11) | NO | | 0 | || check_no | varchar(40) | NO | | NULL | || memo | varchar(50) | NO | | NULL | || po | varchar(10) | NO | | NULL | || rn | varchar(11) | NO | | NULL | || id | varchar(10) | NO | MUL | NULL | || to_be_paid | decimal(18,2) | NO | | 0.00 | || currency | varchar(3) | NO | | NULL | || exchange | decimal(18,4) | NO | | 1.0000 | || language | varchar(2) | NO | | NULL | || vendor_invoice | varchar(40) | NO | | NULL | || vendor_total | decimal(18,2) | NO | | 0.00 | || vendor_invoice_date | date | YES | | NULL | || paydate | date | YES | | NULL | || due | decimal(18,2) | NO | | 0.00 | || ap_total | decimal(18,2) | NO | | 0.00 | || paid | decimal(18,2) | NO | | 0.00 | || tn | varchar(10) | NO | | NULL | |+---------------------+---------------+------+-----+-------------------+-------+24 rows in set (0.00 sec)
以供测试
因为数值型的,是以开头的那个字符来算的,order by起来的,不是以总大小算的。
所以99的字符串要比 1000的大。