1 不用转换,直接相减,看正负。结果还可以表明两个日期的差距,正的说明前者大,负的是后者大。
创新互联公司是专业的宣化网站建设公司,宣化接单;提供做网站、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宣化网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
2 做判断是大于还是小于。
number类型的话,可以直接比较
用法一:
select * form tablename where id5 and id10;
解释:这样就可以取出数字“id”在5到10之间的所有记录(不包含5和10)。
用法二:
select * from tablename where id between 5 and 10;
解释:这样就可以取出数字“id”在5到10之间的所有记录(包含5和10)。
用法三:
select t1. * from tablename1 t1 , tablename2 t2 where t1.id=t2.id;
解释:这样就可以取出所有的表1和表2中id值相同的表1的所有内容(注意,此用法只能条件等于,不能大于或小于(大于小于都是无意义的),)。
可以比较,具体比较方法如下:
[java] view plain copy
Service:
String hql = "SELECT COUNT(*) FROM Instructions ";
hql =hql+where;
[java] view plain copy
String strStartDate=ParamUtil.getString(request,"strStartDate","");//格式为:2010-05-03
String strEndDate=ParamUtil.getString(request,"strEndDate","");//格式为:2016-06-01
if(!strStartDate.equals("")){
tWhere+=" and dtCreatDate=to_date('"+strStartDate+" 00:00:00','yyyy-mm-dd hh24:mi:ss')";
}
if(!strEndDate.equals("")){
tWhere+=" and dtCreatDate=to_date('"+strEndDate+" 23:59:59','yyyy-mm-dd hh24:mi:ss')";
}
[java] view plain copy
int count = objSvr.getCount(tWhere);
打印的语句如下:
[sql] view plain copy
WHERE intVirDel1 and dtCreatDate=to_date('2016-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and dtCreatDate=to_date('2016-06-24 23:59:59','yyyy-mm-dd hh24:mi:ss')
时间类型可以比较大小,但是日期格式需要转成字符串,或者字符串转成日期来比较
日期格式直接减
select
to_date('20130120','yyyymmdd')-to_date('20130110','yyyymmdd')
from
dual;
结果为10
//
获取数据库的连接这些操作我就省了
PreparedStatement
pstmt
=
conn.prepareStatement("SELECT
*
FROM
H_TEST");
ResultSet
rs
=
pstmt.executeQuery();
ResultSetMetaData
rsmd
=
rs.getMetaData();
//获取字段名
if(rsmd
!=
null){
int
count
=
rsmd.getColumnCount();
for(int
i=1;i=count;i++){
System.out.println("获得1列对应数据类型的类
"
+
rsmd.getColumnClassName(1));
//
rsmd
还有其他的
方法可用,你可以查看JDK中
ResultSetMetaData
类的帮助文档}
oracle可以比较字符串大小,但是不能比较大小写,oracle对大小写不敏感。
Oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个,类推。字符串和数字进行操作是会报异常的,因为类型不一样不能进行比较。Oracle在执行SQL的时候有些时候会自动转换,比如:select
*
from
chan_customer
cc
where
cc.customer_id
=
'1';即使customer_id是数字型的也可以查出来,但是Oracle有区分字符和数字就是通过加不加单引号来区分。