SQL查询出当前服务器时间是否在表T1时间段内,如果有则选择出

表T1
开始 时间         结束时间         
09:00:00          12:00:00     
14:00:00          17:00:00

查询出当前服务器时间是否在表T1时间段内,如果有则选择出
选出的sql结果集如下,求SQL,  注:SQL2000环境

开始 时间         结束时间          
14:00:00          17:00:00

方法一:

DECLARE @t TABLE (

    beginTime CHAR(8),

    endTime CHAR(8)

)

INSERT INTO @t values(‘09:00:00‘,‘12:00:00‘)

INSERT INTO @t values(‘14:00:00‘,‘17:00:00‘)

SELECT FROM @t WHERE CONVERT(CHAR(8), GETDATE(),114) BETWEEN beginTime AND endTime

/*

beginTime   endTime

14:00:00    17:00:00

*/

方法二:

IF OBJECT_ID(‘tempdb..#T1‘)IS NOT NULL DROP TABLE #T1
CREATE TABLE #T1(id INT IDENTITY,开始时间 NVARCHAR(50),结束时间  NVARCHAR(50))

INSERT INTO #T1
        (开始时间 ,结束时间 )
VALUES  (‘09:00:00‘,‘12:00:00‘)
INSERT INTO #T1
        (开始时间 ,结束时间 )
VALUES  (‘14:00:00‘,‘17:00:00‘)

SELECT * FROM #T1 WHERE 
CONVERT(DATETIME,‘1900-01-01 ‘+开始时间)<=CONVERT(DATETIME,‘1900-01-01 ‘+SUBSTRING(CONVERT(NVARCHAR(50),GETDATE(),21),12,50))
AND
CONVERT(DATETIME,‘1900-01-01 ‘+结束时间)>=CONVERT(DATETIME,‘1900-01-01 ‘+SUBSTRING(CONVERT(NVARCHAR(50),GETDATE(),21),12,50))

时间: 2024-11-02 21:31:31

SQL查询出当前服务器时间是否在表T1时间段内,如果有则选择出的相关文章

sql 查询执行的详细时间profile

1.查看profile的设置 SHOW VARIABLES LIKE '%profil%' 结果如下:profiling OFF 为关闭状态 2.开启profile SET profiling=1 结果: 3.执行需要执行的sql explain   select*........ 4.查询执行的sql SHOW PROFILES 结果: 5.查看需要的sql执行详细信息 SHOW PROFILE FOR QUERY 308 结果: SHOW profile cpu,MEMORY FOR QUE

Java判断一个时间是否在另一个时间段内

需求:当时间在凌晨0点至0点5分之间程序不执行. 也就是实现判断当前时间点是否在00:00:00至00:05:00之间 方法: Java代码 : /** * 判断时间是否在时间段内 * * @param date * 当前时间 yyyy-MM-dd HH:mm:ss * @param strDateBegin * 开始时间 00:00:00 * @param strDateEnd * 结束时间 00:05:00 * @return */ public static boolean isInDat

sql查询并把数据更新到另一个表中

update OpenBills set peopleCount=(select rtNumber from Rooms where obId='ZD201005223') where obId='ZD201005223'

IOS,利用NSDateComponents,NSCalendar判断当前的时间点是否在某个时间段内的方法

1 - (BOOL)isBetweenFromHour:(NSInteger)fromHour toHour:(NSInteger)toHour 2 { 3 NSDate *date8 = [self getCustomDateWithHour:8]; 4 NSDate *date23 = [self getCustomDateWithHour:23]; 5 NSDate *currentDate = [NSDate date]; 6 7 if ([currentDate compare:dat

SQL查询入门(上篇)

引言 SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句.但对于大多数开发者来说,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会使在写一些特定的SQL查询语句来解决特定问题时被"卡"住,本系列文章主要讲述SQL查询时一些基本的理论,以及写查询语句的抽象思路. SQL查询简介 SQL语言起源于1970年E.J.Codd发表的关系数据库理论,所以SQL是为关系数据库服务的.而对于SQL查询,是指从数据库中取得数据的子集,这句话貌似听着

oracle常用经典SQL查询

1 常用SQL查询: 2 3 1.查看表空间的名称及大小 4 5 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size 6 from dba_tablespaces t, dba_data_files d 7 where t.tablespace_name = d.tablespace_name 8 group by t.tablespace_name; 9 10 2.查看表空间物理文件的名称及大小 11 12 sel

13.hibernate的native sql查询(转自xiaoluo501395377)

hibernate的native sql查询 在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hibernate推荐的HQL查询语句呢?这是因为HQL查询语句虽然方便我们查询,但是基于HQL的查询会将查询出来的对象保存到hibernate的缓存当中,如果在我们的一个大型项目中(数据量超过了百万级),这个时候如果使用hibernate的HQL查询的话,会一次将我们查询的对象查询出来后放到缓存中,这个时

[转]sql语句中出现笛卡尔乘积 SQL查询入门篇

本篇文章中,主要说明SQL中的各种连接以及使用范围,以及更进一步的解释关系代数法和关系演算法对在同一条查询的不同思路. 多表连接简介 在关系数据库中,一个查询往往会涉及多个表,因为很少有数据库只有一个表,而如果大多查询只涉及到一个表的,那么那个表也往往低于第三范式,存在大量冗余和异常. 因此,连接(Join)就是一种把多个表连接成一个表的重要手段. 比如简单两个表连接学生表(Student)和班级(Class)表,如图: 进行连接后如图: 笛卡尔积 笛卡尔积在SQL中的实现方式既是交叉连接(Cr

Sql Server 优化 SQL 查询:如何写出高性能SQL语句

1. 首先要搞明白什么叫执行计划? 执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式. 可见,执行计划并不是固定的,它是“个性化的”.产生一个正确的“执行计划”有两点很重要: (1)    SQL语句是否清晰地告诉查询优化器它想干什么? (2)