关于时间段的SQL(Orcale、SQL Server)查询
一、Orcale 时的查询
String hql = "from SmsTemplate t where 1=1 ";
if (model != null && !"".equals(model.getEndTimes())&& null!=model.getEndTimes() ) {
SimpleDateFormat dateFm = new SimpleDateFormat("yyyy-MM-dd"); //格式化当前系统日期
Date endt = model.getEndTimes();
String dateTime = dateFm.format(endt);
hql += " and t.endTimes<= to_date('" + dateTime+"' ,'yyyy-mm-dd')"; //注意单引号
//hql += " and t.endTimes<= to_date('" + dateTime+"' ,'yyyy-mm-dd HH24:mi:ss')";//带时、分、秒 注意 mi
//注:endTimes在数据库中时DATE型的
}
二、普通SQL Server 查询
DECLARE @dt DATETIME
DECLARE @dt2 DATETIME
SET @dt = '2008-07-24'
SET @dt2 = DATEADD(day, 1, @dt)
select @dt as dt, @dt2 as dt2
select * from meet_now where meetdate between CONVERT(datetime , @dt, 111 ) and convert(datetime , @dt2, 111 ) order by id
select * from meet_now where DATEDIFF(day, meetdate, @dt) = 0 order by id
相关文档:
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE 的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要 ......
SQL语句优化实践之一SQL_TRACE
环境:在PL/sql上调试数据
Pl/sql developer工具连接实例后即作为一个用户进程占用一个session;
select * from v$session t where t.PROGRAM='plsqldev.exe' and t.USERNAME='DZJC'
查询结果显示了几个关键的字段
SADDR RAW(4) S ......
本文总结了开发工作中常用的SQL语句,供大家参考……
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
A ......
1
、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select
*
from
people
where
peopleId
in
(
select
peopleId
from
people
group
by
peopleId
having
cou ......
这段时间碰到一个很奇怪的问题:SQL server不能远程连接。命名管道和TCP/IP协议都已启用,防火墙也关闭了等等,但就是不能远程连接数据库。终于找到原因了,当输入数据库服务器实例名时应:\,, 平常一般不用附加端口号的。 ......