java、mysql字符串比较大小

java中有一个变量min="004",一个变量max="017"。
我想通过JDBC从数据库中取出字段名为count的大于min且小于max的记录,即
count>=min and count<=max。
字段count为varchar类型。
这样能实现吗?怎么实现?
数据库的sql语句要怎么写?貌似比不了字符串的?

可以啊,字符串是可以比较大小的。
不过要注意,你要确保count里面都是数字,可别什么乱七八糟的字符都有啊。
还要保证比较的字符串的长度相同,用lengt(count)=3来限定。如果min和max是变量,那么就拼sql,然后把min.length()给拼接进去。追问

length(count)=3是什么意思?

具体怎么拼接?
这个不是我懒啊,是我不会用。-_-|||

追答

是限定长度,字符串比较的时候,如果长度不相同,比较大小的结果可能会和你预想的不一样的。

追问

我写的sql语句是:
select * from tablename where count>='10008' and count<='10013';
那length(count)=5这句放在其中的哪里?

追答

select * from tablename where count>='10008' and count<='10013‘ and length(count)=5;

字段起名最好不要起count,count是一个函数的名字。

追问

再问你个其它方面的问题吧,会的话,教教我,拜托拜托……:
html输入框长度小于其中的内容时,怎么可以通过鼠标拖动看到内容?比如把“No configuration found for the specified action”复制到百度输入框中,拖动鼠标覆盖这些文字,就都可以看见。可是我设置了一个size="20"的输入框,复制这些文字进去,就只能显示前面的一串字母……

追答

size="20"就是说只能输入20个字符啊,多余会被截断。
输入框中只有20个字符的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-03

解决办法有两个:

    将count转化成数值型,然后来比较,如果你的数据库是sql server

    select * from table_name  where cast(count as int)>=min

   

2 .将004 017作为字符String sql = "select * from tablename  where count>=‘“+min+"’ and count<=‘"+max’“; 注意使用单引号+双引号

追问

我的数据库是mysql,应该不影响吧?

追答

mysql 用的不是cast函数,有同样功能的函数,去度娘一下,很多

追问

再问你个其它方面的问题吧,会的话,教教我,拜托拜托……:
html输入框长度小于其中的内容时,怎么可以通过鼠标拖动看到内容?比如把“No configuration found for the specified action”复制到百度输入框中,拖动鼠标覆盖这些文字,就都可以看见。可是我设置了一个size="20"的输入框,复制这些文字进去,就只能显示前面的一串字母……

第2个回答  2013-12-03
看你在哪写了?在java代码中写:String sql = "select * from tablename where count>=“+min+" and count<="+max;追问

这个原理是count、min、max在数据库里会自动转化为int型比较吗?还是……

追答

你测试不行?你具体的需求是干嘛? count 为varchar类型=号后面加单引号比较就可以。
你用语句自己测试一下,不是很费时间的。

追问

再问你个其它方面的问题吧,会的话,教教我,拜托拜托……:
html输入框长度小于其中的内容时,怎么可以通过鼠标拖动看到内容?比如把“No configuration found for the specified action”复制到百度输入框中,拖动鼠标覆盖这些文字,就都可以看见。可是我设置了一个size="20"的输入框,复制这些文字进去,就只能显示前面的一串字母……

追答

点击鼠标左键不放,往前活往后移动就可以了。

追问

移动的话,有时可以,有时不行啊。
而且用$("#id").val();就只能截取前面能显示的那串字符。我想要完整的。

追答

你那就用 style="width:100px;"来控制input的长度

本回答被提问者采纳
第3个回答  2013-12-03
count字段如果都是数字组成的字符串,可以直接比较,count >= 4 and count <=17,注意4和17不需要单引号
第4个回答  2013-12-03
这个java中倒是可以转换成int来比较,数据库中可使用cast函数转换比较,CAST (<expression> AS <data_ type>[ length ])
相似回答