如何运用sql语句进行断号查询并定位区间

实务研究

S

如何运用SQL语句进行断号查询并定位区间

■刘

昆/武穴市审计局

谓断号查询,一般是指在一组或多组连续的流水号码中找

中间缺

值为33,断号区间就是32-33。

最后,我们让数据库按照起始号、终止号的格式输出结果,即32,33,并保存到新的表格中去。至此,这一个完整的查询和定位过程结束,接下来就是循环执行直到整个数据库查询完毕。

现在就让我们来用SQL语句来验证以上思路。验证之前我们需要建一张包含断号的简单数据表(表名example):

(SELECTID+1AS起始号FROMexampleWHEREID+1NOTIN(SE-LECTIDFROMexample)andID<(SELECTmax(ID)FROMexample))AS

最大号ORDERBY起始号

查询的结果生成了名为“断号分析及区间定位表”的表格,直观、准确无误(见下图)。

少的号码。在审计过程中,我们经常遇到这样的情况,比如税务机关的开票系统、医院的门诊收费系统、行政事业机关的非税收入管理系统等,除了正常作废导致断号之外,还有可能存在其他审计疑点。那么,怎样才能对断号全面查询并且精准定位呢?

解决计算机问题,思路很重要:断号,就是在当前数据库的流水号中不存在的号码,同时这些号码又可以理解成当前数据库的流水号中某一个号码加1后得不到的号码。

抽象的概念理解起来可能有些困难,让我们来看个例子:假如数据库中有

CREATETABLEexample(IDINT)

INSERTINTOexampleVALUES(10)INSERTINTOexampleVALUES(11)INSERTINTOexampleVALUES(12)INSERTINTOexampleVALUES(14)INSERTINTOexampleVALUES(15)INSERTINTOexampleVALUES(19)INSERTINTOexampleVALUES(20)

可以看到这里面断号应该是13、16、

经过对以上语句的理解和验证,我们达到了运用SQL语句进行断号查询并定位区间的目的。在实际工作中,我们按照以上语句的结构,稍作改动,然后对含有大量数据的数据库进行测试,发现是完全可行的(见下图)。

30-80号票据,编号为30号的票据是第

一份,那么我们从它开始,将其加1后为

31号,如果查询到存在31号票据,那就

证明编号30-31的税票是连续的,中间没有断号。那么,我们继续在编号31的基础上加1,成为编号32的票据,接着在数据库中查询其是否存在,如果发现在数据库中不存在这个编号,那么编号32的票据就是断号,并且32号就是这一个断号区间的起始值。

接下来,我们检查大于这个起始值的最小号码(即终止值),定义出断号区间。接上例,32号是断号的起始,那么从

17、18,SQL语句如下:

SELECT起始号,(SELECTMIN(ID)-1FROMexampleWHEREID>起始号)AS终止号INTO断号分析及区间定位

FROM

32号起,可能存在一个或者多个号码在

这个区间中,我们要做的是找出大于32号,并且最接近32号的这个号码。假如我们查询出的结果是34号,那么就证明

32、33两个编号的税票不存在,断号终止

猜你喜欢

如何运用sql语句进行断号查询并定位区间 ……实务研究 s shiwuyanjiu 如何运用 sql语句进行断号查询并定位区间 ■刘昆 武穴市审计局 所 谓断号查询,一般是指在一组 或多 组连续的流水号码中找出中间缺 ......

2013《数据库原理及应用》实验报告答案 ……实验三一、实验目的 单表查询 1、掌握数据库引擎的使用方法,加深对 sql 的语句的理解; 2、使用 select 语句进行单个表格数据查询; 3、熟练掌握简单表的数据查询......

2013-1-16sql server 查询断号 ……sql server2008 中巧用外连接实现断号查询 sql sever...所谓的断号其实就是一个不完整的数列表, 如何确认...如果这个断号表的区间比较大,比如 1000 万,可以把......

常用定位性能问题的sql语句 ……如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 常用定位性能问题的sql语句 隐藏>> -- 值得怀疑的 sql select substr(......

如何定位重要sql的查询方法 ……如何定位重要sql 个人分类:oracle调优 一、 select sql_text from v$sql where...如何运用sql语句进行断号... 暂无评价 1页 00 sql分页查询方法 2页 ......

实验报告示例 ……(ⅲ)怎样在分析器 中查看数据库的结构; (ⅳ)查询分析器的初步使用:在分析器中输入语句: usepubs select*fromauthors运行观看结果 5、使用sqlserverenterprise......

数据库作业 ……“sql”语句进行对数据库的查询、插入、修改等操作 (2) 怎样在分析器中选择不...7) 在数据库内定位对象,或查看和使用对象。 实验项目序号: 实验一 实验名称:......

数据库跟踪技巧 ……sql 语句 sql:batchstarting 事件类 指示正在启动 ...数据库里存在大量客户端的操作,怎样定位到自己所在...查询数据库字典,考勤号为‘vcard no’。 分别对......

在excel中使用sql语句实现精确查询 ……在excel中使用sql语句实现精确查询_计算机软件及应用_it计算机_专业资料。在excel中使用sql语句实现精确查询 微博上有人回复评论说直接用 vlookup、或者导入数据库......

sql语句使用 ……学习目标– 掌握对数据库的基本操作,并了解数据库管理系统的基本功能 – 熟练掌握sql查询语句,并运用sql语句完成对数据库的操作 2 本讲内容 1 2 sql概述 简单......

第09讲 使用sql语句进行数据查询 ……第09讲 使用sql语句进行数据查询_理学_高等教育_教育专区。vfp教程vfp程序设计》 第9讲 使用sql语句进行数据查询 2013-8-4 1 vfp程序设计》 ? 教学目的:通过本......

《db 查询分析器》中断sql语句的执行 ……cancel the sql statement being executing 0 引言从事大型数据库查询、数据分析工作的人经常遇到这样的情况,自己编写的 sql 语句 充分使用了索引,并且经过了优化,但......

sqlserver之定位死锁 ……sqlserver之定位死锁_计算机软件及应用_it计算机_专业...同时对多个表进行了操作,到底是那个语句出了问题呢...—>锁进程 id 去查找相关死锁进程和定位死锁的......

sql使用技巧 ……sql使用技巧_计算机软件及应用_it计算机_专业资料。...行状态下调用查询分析器来 执行这个sql文件里的语句...横向分割横向分割改善整体读写性能一个横向定位的表......

高效sql语句 ……高效sql语句_计算机软件及应用_it计算机_专业资料。...优化器在形成执行计划时需要做的一个重要选择是如何...(存取方法),通过它们可以定位和查询 出需要的数据,......

sql 检索数据 ……sql 检索数据_计算机软件及应用_it计算机_专业资料。sql的基本查询语句项目6 检索数据 1 select 语句 2 使用select 语句进行简单查询 3 使用t-sql语句进......

sql第4章数据操纵语句 ……在sql server management studio中查看记录 1 打开表 2 快速定位记录 ...这种 方法是使用select语句查询出的结果代替values子句。 这种方法的语法结构如下......

sql anywhere 使用及 ……检索均会有较大影响 o o o 定位1条记录需要多个...但是要权衡使用参考完整性– – 在查询过程中不会...如何写sql语句将是至关重要的– ––– 仔细检查......

sqlserver查询执行计划分析 ……management studio】,输入一个查询语句看看 sql server 是 如何显示查询计划的吧...对哈希键使用哈希函数可以保证任意两个联接记录一 定位于相同的文件对中。因此,......

u8软件报错时sql事件探查器的使用 ……事件探查器主要适用流程是:建立跟踪、进行跟踪、精确跟踪、定位问题、解决 问题。...“sp_helptext 对象名”可 以查询具体存储过程、视图、触发器的 sql 语句内容......

sql 区间

switch case语句 区间

sql区间查询语句

sql语句 时间区间

  • sql语句时间日期最全方法 sql语句时间日期最全方法

    sql语句时间日期最全方法_电脑基础知识_it计算机_专业资料。oracle里时间的应用 1、转换函数与date操作关系最大的就是两个转换函数:to_date(),to_char() to_.........发布时间:

  • 时间长度sql语句 时间长度sql语句

    时间长度sql语句_韩语学习_外语学习_教育专区。时间长度sql语句 sql 日期语句大全 --本周第一天 select dateadd(day,1-(datepart(weekday,getdate())+@@.........发布时间:

  • sql语句查询指定时间内的数据 sql语句查询指定时间内的数据

    sql语句查询指定时间内的数据_计算机软件及应用_it计算机_专业资料。使用sql语句实现多种特定时间的查询,例如查询一个月内的所有记录数select.........发布时间:

  • sql语句-时间算法 sql语句-时间算法

    sql语句-时间算法_计算机软件及应用_it计算机_专业资料。datediff 函数 [日期和时间] 功能 返回两个日期之间的间隔。 语法 datediff (date-part, date-expression.........发布时间:

  • 使用sql语句查询时间段 使用sql语句查询时间段

    使用sql语句查询时间段_计算机软件及应用_it计算机_专业资料。使用 sql 语句查询时间段 在项目中,如果需要查询时间段,该 sql 语句应该如何写呢?下面就将教您使用.........发布时间:

sql语句日期区间查询

  • sql语句处理时间 sql语句处理时间

    sql语句处理时间 暂无评价|0人阅读|0次下载|举报文档 sql server中对时间类型的...指定日期该年的第一天或最后一天 1 年的第一天 select convert(char(5),@.........发布时间:

  • sql时间查询语句 sql时间查询语句

    sql时间查询语句_计算机软件及应用_it计算机_专业资料。sql时间查询语句datediff(week,zy_time,getdate())=0 查询本周 datediff(month,zy_time,getdate())=........发布时间:

热门推荐