Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PL SQL基于人员出生日期的两个日期之间的生日

PL SQL基于人员出生日期的两个日期之间的生日
EN

Stack Overflow用户
提问于 2014-04-28 19:03:07
回答 1查看 790关注 0票数 0

我试着看看一个人的生日是否在两个日期内,基于他们的出生日期,而不是出生的年份。

到目前为止,我正在尝试“ddd”选项,获取一年中的日期。但我注意到我的代码似乎忽略了任何出生在一年的12月31日的人,因此得到了不正确的结果。我尝试添加一个1,但这也没有帮助。以下是我到目前为止所尝试的:

代码语言:javascript
运行
AI代码解释
复制
select emp.employee_number, 
       person.title, 
       person.surname, 
       person.first_forname, 
       addr.line_one ||' '|| addr.line_two ||' '|| addr.line_three ||' '|| addr.line_four ||' '||         
       addr.postcode as Address,
       post.long_desc as LONG_DESC, 
       email.email_address,
       per.pers_mobile_tel_no as mobile_no    
from person per 
inner join emp emp on per.person_ref=emp.person_ref
inner join addr addr on per.address_ref= addr.ref
inner join ph ph on emp.person_ref=ph.person_ref
inner join post post on ph.ref=post.ref
inner join pl pl on pl.post_ref= post.ref 
where
 to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) >=  
      to_char( (  TO_DATE(:Start_Date,'DD-MON-YYYY')) , 'ddd' )   
AND 
 to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) <=  
      to_char( (  TO_DATE(:End_Date,'DD-MON-YYYY')) , 'ddd' ) 
and
  ph.end_date is null
and loc.location_number in ('501')
order by emp.employee_number

在这方面的任何帮助都将不胜感激。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-04-28 19:14:44

由于以下条件,您的查询在12月31日会出现错误:

代码语言:javascript
运行
AI代码解释
复制
to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) >=  
      to_char( (  TO_DATE(:Start_Date,'DD-MON-YYYY')) , 'ddd' )   
AND 
 to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) <=  
      to_char( (  TO_DATE(:End_Date,'DD-MON-YYYY')) , 'ddd' ) 

在这两种情况下,您都可以使用less或equal和more or equal。它应该是

代码语言:javascript
运行
AI代码解释
复制
to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) > 
      to_char( (  TO_DATE(:Start_Date,'DD-MON-YYYY')) , 'ddd' )   
AND 
 to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) <=  
      to_char( (  TO_DATE(:End_Date,'DD-MON-YYYY')) , 'ddd' ) 

代码语言:javascript
运行
AI代码解释
复制
to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) >=
      to_char( (  TO_DATE(:Start_Date,'DD-MON-YYYY')) , 'ddd' )   
AND 
 to_char( (  TO_DATE(person.birth_date,'DD-MM-YYYY')) , 'ddd' ) <  
      to_char( (  TO_DATE(:End_Date,'DD-MON-YYYY')) , 'ddd' )

编辑:

查询似乎不能解决您的问题。例如,假设出生日期是1990年12月31日,开始日期是1990年6月01日,结束日期是1991年2月01日。当你得到'ddd‘时,你的生日是365,开始日期是152,结束日期是32。但是,32小于152,因此您不会得到输出中包含31.12.1990的person。因此,与'ddd‘值进行比较是不正确的,因为它忽略了年份值。相反,您应该将整个日期相互比较,如下所示:

代码语言:javascript
运行
AI代码解释
复制
TO_DATE(person.birth_date,'DD-MM-YYYY') >=
          TO_DATE(:Start_Date,'DD-MON-YYYY') 
AND 
TO_DATE(person.birth_date,'DD-MM-YYYY') <  
          TO_DATE(:End_Date,'DD-MON-YYYY')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23349200

复制
相关文章
微软Windows 10的上下文菜单引入Fluent Design风格
微软正在将Fluent Design扩展到Windows 10的更多部分,本周早些时候发布的最新预览版本也带来了这方面的更多变化。在周五发布的更新版本说明中,微软透露Fluent Design在Windows 10 build 17692中也开始部署,半透明效果现在可用于XAML控件。 Windows 10的系统UI控件杂乱的问题一直是被用户诟病的对象,同一个鼠标右键可以按出五六种菜单的尴尬可能已经开始缓解。 Fluent Design现在可用于上下文菜单、弹出窗口、自动建议对话框和下拉菜单以及时间选择器弹
程序你好
2018/07/20
4370
adobe air是干什么的?
Adobe air 是知名软件公司Adobe旗下的产品之一。 Adobe[1]Integrated Runtime允许你利用现有的web开发技能(包括Flash, Flex, HTML, JavaScript, Ajax)优势,建立和配置跨平台(或跨操作系统)的桌面RIA(InternetApplications)应用。2.7以后的版本不再支持桌面Linux操作系统[2]。 对于用户来说,Adobe AIR 实现的跨平台应用,使其不再受限于不同的操作系统,在桌面上即可体验丰富的互联网应用。并且是比以往更低的资源占用、更快的运行速度和顺畅的动画表现。工具。例如 新浪微博客户端微博 AIR、Google Analytics 分析工具、Twitter 客户端 TweetDeck及众多最新影片介绍工具等。 AIR能使你在熟悉的环境下工作,去利用你觉得的最舒适的工具,并且通过支持Flash, Flex, HTML,JavaScript, 以及 Ajax,去建立接近你需要的尽可能好的体验。 AIR 是 Adobe Integrated Runtime的缩写,它是一个跨操作系统的运行时(Runtime),利用现有的Web开发技术(Flash,Flex,HTML,JavaScript,Ajax)来构建‘富Internet’(我一直觉得这个翻译很可悲,Rich被翻译成富后即拗口又不达意)应用程序并部署为桌面应用程序。 AIR 支持现有的Web技术如Flash,Flex,HTML,JavaScript和AJAX,可以用你最熟练的技术来开发您所见过的最具用户体验的RIA程序。 首先,Adobe air 是Adobe公司旗下的产品之一,如果用户用不到该软件,可以卸载。 其次,Adobe Integrated Runtime允许用户利用现有的web开发技能(包括Flash, Flex, HTML, JavaScript, Ajax)优势,建立和配置跨平台(或跨操作系统)的桌面RIA(InternetApplications)应用。对于用户来说,Adobe AIR实现的跨平台应用,使其不再受限于不同的操作系统,在桌面上即可体验丰富的互联网应用。并且是比以往更低的资源占用、更快的运行速度和顺畅的动画表现工具。例如新浪微博客户端、微博 AIR、Google Analytics 分析工具、Twitter 客户端 TweetDeck及众多最新影片介绍工具等。 通俗来说: Adobe Air就是利用Adobe公司的Flash技术开发的视频播放平台。这个视频播放终端运行平台的主要功能就是可以在网上看视频,跟Flash相同,但是功能更强大。 其实通俗的讲Adobe Air就是一个平台,这个平台提供一些软件接口,想开发软件的人员用这些接口和其他的编程技术可以开发出来一些软件。
iOS程序应用
2023/04/17
1.5K0
adobe air是干什么的?
windows经典菜单
StartIsBack+只支持Win8.1系统,Win8系统请使用StartIsBack。
Windows技术交流
2022/07/27
6500
Android 彩色上下文菜单 Context
本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/106954710 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本链接,尤其是脚本之家、码神岛等平台,谢谢配合。
Designer 小郑
2023/08/01
2130
Android 彩色上下文菜单 Context
设置Sublime Text为Adobe Air的开发编辑器
在上一篇关于Adobe Air的文章中1,介绍了如何设置Air的开发环境,由于是跟Web差不多的开发方式,基本上Web所使用的编辑器都是适用的,像Dreamweaver、aptana studio等,当然还有Sublime Text。
GhostZhang
2022/08/22
4470
send,recv,sendto,recvfrom
int send( SOCKET s, const char FAR *buf, int len, int flags );
全栈程序员站长
2022/07/14
1.6K0
适用于windows && macos(intel/m1 Pro Max) Adobe 2022全家桶集合
相遇的日子总是那么难忘,当它以全新的姿态出现时,都会让人眼前一亮!特别是强大的功能和可编辑性,而且Adobe2022专门为m1 Pro Max芯片进行优化和适配,使得其不再需要转译器转译时,大大增加了硬件资源的利用率!从而加快了创作速度。今天,小编将为有需要的网友收集屏蔽验证,支持长期使用的Adobe2022全家桶软件。同时下载地址选用支持全速下载的阿里云盘。
Khan安全团队
2022/04/02
5.3K0
windows 右键菜单的添加和移除
windows下所有系统及部分软件的配置都在注册表中,注册表相当于是一个windows系统的数据库.我们想要增加或更改一些功能可以通过修改注册表的方法实现.
caoayu
2020/09/23
2.4K0
windows 右键菜单的添加和移除
【说站】python PyQt创建上下文菜单
2、将contextMenuPolicy设置为Qt.ActionsContextMenu,以便在上下文菜单中显示操作小部件。
很酷的站长
2022/11/24
3990
安卓开发_浅谈ContextMenu(上下文菜单)
长下文菜单,即长按view显示一个菜单栏 与OptionMenu的区别 OptionMenu对应的是activity,一个activity只能拥有一个选项菜单 ContextMenu对应的是View,每个View都可以设置上下文菜单 一般情况下ContextMenu常用语ListView或者GridView; 创建和响应上下文菜单过程: 1.在activity的onCreate(...)方法中为一个view注册上下文菜单 2.在onCreateContextMenuInfo(...)中生成上下文菜单。 3.
听着music睡
2018/05/18
1.5K0
sendto & recvfrom 详解
sendto和recvfrom一般用于UDP协议中,但是如果在TCP中connect函数调用后也可以用.
全栈程序员站长
2022/09/15
2.5K0
send()、sendto()和recv()、recvfrom()的使用
udp通讯中的sendto()需要在参数里指定接收方的地址/端口,recvfrom()则在参数中存放接收发送方的地址/端口,与之对应的send()和recv()则不需要如此,但是在调用send()之前,需要为套接字指定接收方的地址/端口(这样该函数才知道要把数据发往哪里),在调用recv()之前,可以为套接字指定发送方的地址/端口,这样该函数就只接收指定的发送方的数据,当然若不指定也可,该函数就可以接收任意的地址的数据。(这些内容前面文章udp通讯中的connect()和bind()函数 有详细讲过)
全栈程序员站长
2022/09/15
1.8K0
send()、sendto()和recv()、recvfrom()的使用
用于 Windows 下的日志跟踪分析工具(Tail for Windows)
在 Linux 下做开发和调试任务的时候,有些情况会动态去跟踪一些日志的变化来调试问题。Linux 下使用 tail -f 就可以达到需求了,但 Windows 下一直没有找到类似的好用工具,在 github 上也有一些开源项目,不是项目相对陈旧界面丑陋,就是功能不完善不能让人专注于分析日志。索性自己做了一个,预览图如下:
我与梦想有个约会
2020/01/05
1.3K0
用于 Windows 下的日志跟踪分析工具(Tail for Windows)
在 Linux 下做开发和调试任务的时候,有些情况会动态去跟踪一些日志的变化来调试问题。Linux 下使用 tail -f 就可以达到需求了,但 Windows 下一直没有找到类似的好用工具,在 github 上也有一些开源项目,不是项目相对陈旧界面丑陋,就是功能不完善不能让人专注于分析日志。索性自己做了一个,预览图如下:
我与梦想有个约会
2018/11/07
7.4K2
在Excel中自定义上下文菜单(下)
在本文开头的VBA示例中,你看到了如何通过使用工作簿的Activate和Deactivate事件调用宏来创建和删除菜单控件,从而来更改单元格上下文菜单。
fanjy
2022/11/16
2.7K0
用于 Windows 下的日志跟踪分析工具(Tail for Windows)
在 Linux 下做开发和调试任务的时候,有些情况会动态去跟踪一些日志的变化来调试问题。Linux 下使用 tail -f 就可以达到需求了,但 Windows 下一直没有找到类似的好用工具,在 github 上也有一些开源项目,不是项目相对陈旧界面丑陋,就是功能不完善不能让人专注于分析日志。索性自己做了一个,预览图如下:
我与梦想有个约会
2018/11/07
1.8K0
Windows开始菜单无响应
之前遇到过Windows开始菜单点击无响应,最近又遇到开始菜单搜索无响应或多次重启才可以使用。 所以我将解决方法记录一下方便自己。
繁华是客
2023/03/03
2.1K0
工作中遇到的小技巧 一(暂停更新)
       如果浏览器的缓存已满,服务速度可能会减慢,您可能无法下载和查看附件。一下是在Internet Explorer中清空浏览器缓存的步骤:
DannyHoo
2022/05/09
7930
工作中遇到的小技巧 一(暂停更新)
【说站】python PyQt事件处理实现上下文菜单
在创建上下文菜单的方法上,我们已经介绍过一种简单的方法。本篇所要带来的方法略有难度,但在控制和调用上比较方便。
很酷的站长
2022/11/24
3840
在Excel中自定义上下文菜单(上)
上下文菜单(也称为快捷菜单)是在一些随用户交互之后出现的菜单,通常是鼠标右键单击操作。在Microsoft Office中,上下文菜单提供了一组在应用程序的当前状态或上下文中可用的有限选项。通常,可用的选择是与选定对象(如单元格或列)相关的操作。
fanjy
2022/11/16
2.9K0
在Excel中自定义上下文菜单(上)

相似问题

Adobe Air -通过上下文菜单粘贴图像

12

Adobe Air for Windows 64位?

42

控制windows Adobe AIR的顺序

10

如果Adobe Air影响Adobe Air或与Adobe Air冲突

22

Adobe air -右键单击树节点时添加上下文菜单

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档