id name date 。。。
1 张三 20120323015956001511
2 张三 20120323015956001511
3 张三 20120323015956001511
......
25 李四 20120323015956001511
id是字符串型(varchar),从1到25;
日期相同,这个不用考虑,只是一个查询字段;
为什么用下面那个查询语句只能查询出到最大值是9呢?
后面的10到25查询不到?
求高人指点?
select max(id) as maxid
from
question
WHERE
date='20120323015956001511'
12 个解决方案
#1
字符串类型大小比较是先比较首字符,然后依次往后的,9>8>...所以就是9了
#2
那怎么解决啊,难道要改数据表类型
#3
select* from
question WHERE
date='20120323015956001511'
结果是什么
question WHERE
date='20120323015956001511'
结果是什么
#4
就是1到25的数据
#5
ID修改为01-02。。。.09-25, OR 直接修改类型
#6
数据类型就没办法改了 ,数据太多。你说id修改为01-02 ..... 09-25 怎么写 汗
#7
id是字符串型(varchar)是设计错误。
#8
假设只有2位数
update tt set f1=right(concat('00',f1),2)
update tt set f1=right(concat('00',f1),2)
#9
因为id不是主键,只是原先的人这样命名
#10
select max(id+0) as maxid
from
question
WHERE
date='20120323015956001511'
from
question
WHERE
date='20120323015956001511'
#11
解决了 谢谢了
#12
学习了
#1
字符串类型大小比较是先比较首字符,然后依次往后的,9>8>...所以就是9了
#2
那怎么解决啊,难道要改数据表类型
#3
select* from
question WHERE
date='20120323015956001511'
结果是什么
question WHERE
date='20120323015956001511'
结果是什么
#4
就是1到25的数据
#5
ID修改为01-02。。。.09-25, OR 直接修改类型
#6
数据类型就没办法改了 ,数据太多。你说id修改为01-02 ..... 09-25 怎么写 汗
#7
id是字符串型(varchar)是设计错误。
#8
假设只有2位数
update tt set f1=right(concat('00',f1),2)
update tt set f1=right(concat('00',f1),2)
#9
因为id不是主键,只是原先的人这样命名
#10
select max(id+0) as maxid
from
question
WHERE
date='20120323015956001511'
from
question
WHERE
date='20120323015956001511'
#11
解决了 谢谢了
#12
学习了