`
deepfuture
  • 浏览: 4437127 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80446
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:71006
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:104312
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:287950
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15203
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:68594
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32687
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46368
社区版块
存档分类
最新评论

用Oracle日期函数解决查询难题

阅读更多

笔者负责开发的查询模块中需要一个全局函数,该函数能查询某年、某月、某职工在某个城市的工作总天数,查询仅涉及一个表ryqxb,该表记录了人员去向,表结构如下:pepoleid:职工编码,city:所工作的城市,qssj:工作起始时间,zzsj:工作终止时间。查询方案似乎很简单:

然后,利用SUM函数,对符合查询条件的每次按次工作总天数求和,得出当月工作天数。

1、某职工在某城市工作起始日期和终止日期属于同一年同一月,且在要查询的年月范围内,计算可直接采用前面的查询方案。比如:某职工从2006年7月5日至2006年7月15日,在某城市工作,则7月份的总工作天数为:7月15日减7月5日加1,总共11天。



仔细分析该图,不难发现规律:计算总天数所依据的起始日期为表中记录的起始日期和查询年月第一天之间的最大者,计算总天数所依据的终止日期为表中记录的终止日期和查询年月最后一天之间的最小者。

1、last_day(d):返回包含了日期参数的月份的最后一天的日期

3、least(d1,k2…dn)给出的日期列表中最早的日期

//函数名:gf_getmonthdays

//函数参数:as_year年,as_month月,as_id职工ID,as_city城市名

string ls_firstdate

long ll_days

ls_yearmonth=as_year+'-'+trim(as_month)

into :ll_days fromryqxb t

and(to_char(t.zzsj,'yyyy-mm')>=:ls_yearmonth

 

0
0
分享到:
评论

相关推荐

    oracle最全面的命令和函数集合

    本资源“oracle最全面的命令和函数集合”旨在为学习者提供一个全面的Oracle命令与函数参考,帮助你克服数据库操作中的难题。下面,我们将深入探讨其中可能包含的一些关键知识点。 首先,Oracle SQL是数据库查询的...

    实用SQL解决开发难题

    而在Oracle中,可以使用层次查询和`CONNECT BY`来模拟循环。这种方法在处理批量数据操作时特别有用。 再来是“日期格式化函数”。在SQL中,处理日期和时间是一项常见的任务。不同的数据库系统提供了不同的日期格式...

    ORACLE1000问

    "ORACLE1000问"很可能是一个包含了1000个常见Oracle数据库问题及其解答的资源集合,旨在帮助用户解决在使用Oracle时遇到的各种难题。下面将就Oracle数据库的一些关键知识点进行详细的解释和探讨。 1. **Oracle数据...

    jdk1.8.0_151.zip

    Java Development Kit(JDK)是Java编程语言的核心组件,它为开发者提供了编译、调试和运行Java应用程序所需的所有工具。...而通过国内云服务商获取JDK,解决了因网络问题导致的下载难题,为开发者提供了便捷。

    sqlserver向mysql迁移

    - **运算符和日期函数**:这部分列举了两种数据库管理系统之间运算符和日期处理函数的区别,有助于确保逻辑和时间相关的操作在迁移后仍然准确无误。 - **T-SQL转换建议**:专门针对SQL Server特有的T-SQL语言提出了...

    QTP 技术集锦 学习QTP的好东东

    - **功能**: 介绍如何使用 changesysdate 函数来改变系统日期。 - **应用**: 提供具体的使用示例。 #### 47. ImportExcel - **功能**: 介绍如何使用 ImportExcel 函数来导入 Excel 数据。 - **应用**: 提供具体的...

    jdk api 1.8_google.zip

    《Java Development Kit (JDK) 1.8 API 文档详解》 JDK(Java Development Kit)是Oracle公司提供的用于开发和运行Java应用程序的...在实际开发过程中,充分利用这个文档,将有助于解决各种技术难题,提高开发效率。

    MFC中文帮助文档 VC++程序设计

    3. **快速查找和解决问题**:当遇到编程难题时,开发者可以通过查询中文帮助文档找到对应的解决方案,节省了寻找英文资料的时间。 4. **提高开发效率**:熟悉MFC中文帮助文档,可以提高开发者编写和调试代码的效率...

    杭州批发零售行业Java开发工程师岗位介绍JD模板.pdf

    - **Java 8**:引入了流(Stream)、函数式接口、Lambda表达式、日期/时间API等新特性,提高了代码的可读性和可维护性。 - **SpringCloud**:提供了一套微服务解决方案,支持服务发现、配置管理、熔断、路由等功能,...

    java how to program部分练习答案

    这些答案可以帮助读者检验自己的理解,解决在学习过程中遇到的难题。 Java是一种面向对象的、跨平台的编程语言,由Sun Microsystems(后被Oracle收购)于1995年发布。它的设计目标是简单性、健壮性、安全性,并且...

    Java.zip,此版本是1.80

    Java.zip 是一个包含Java开发工具集(JDK)1.80版本的压缩包文件,这个版本被特别提及是因为在某些特定场景下,比如与Qt的集成...使用这个版本的JDK,开发者可以避免不必要的技术难题,专注于应用程序本身的开发工作。

    Java语言程序设计第九版习题答案

    10. **Java 8及以上版本的新特性**:包括Lambda表达式、函数式编程、Stream API、日期时间API(java.time包)等,这些新特性极大地提高了代码的简洁性和效率。 学习Java语言程序设计,不仅要掌握上述知识点,还要...

    DELPHI全掌握_万一博客脱机版

    8. **国际化和本地化**:了解如何为Delphi应用程序添加多语言支持,使用资源文件和国际日期时间格式。 9. **设计模式**:学习常见的设计模式,如工厂模式、单例模式、观察者模式等,提升代码的可读性和可维护性。 ...

    java学习资料(个人觉得很不错,我的珍藏)

    首先,Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle Corporation的一部分)于1995年推出。它的设计目标是具有简单性、健壮性、安全性、平台独立性和可移植性。这使得Java在各种领域,如...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    媒体查询 CSS媒体查询允许开发者基于浏览网站的设备的特性来应用不同的样式申明,最常用的特性是视口宽度。 GCF 谷歌内嵌浏览器框架, 使用此插件,用户可以通过Internet Explorer的用户界面,以Chrome内核的渲染方式...

Global site tag (gtag.js) - Google Analytics