SQLPLUS(Oracle) - WHERE子查询,用于确定日期表达式是否大于n天(SQLPLUS (Oracle) - WHERE subquery to determine if date expression greater than n Days)
我是SQL的新手,在掌握子查询的使用以及将它们放在外部查询的位置时遇到了一些麻烦。 下面的问题是我一直在研究的问题的一部分,似乎无法获得理想的结果。
我需要提取开始日期和结束日期之间的天数。 然后检查是否大于2并将其应用于外部查询。 此特定尝试返回“Missing Expression”,而其他迭代(2nd Query Bellow)返回一个错误,指出内部查询返回多行。(修改为使用“ALL”关键字也没有产生正确的结果)
QUERY1
SELECT P.PETNAME,P.PETTYPE FROM PETTREATMENT PT, EXAMINATION E, PET P, TREATMENT T WHERE PT.EXAMNO = E.EXAMNO AND E.PETNO = P.PETNO AND PT.TREATNO = T.TREATNO AND (SELECT TO_DATE(PETTREATMENT.ENDDATE,'DD-MON-YYYY') - TO_DATE(PETTREATMENT.STARTDATE,'DD-MON-YYYY') AS TOTALDAYS FROM PETTREATMENT WHERE TOTALDAYS > 2) AND T.COST >100 ORDER BY P.PETNAME;
查询2
SELECT P.PETNAME,P.PETTYPE FROM PETTREATMENT PT, EXAMINATION E, PET P, TREATMENT T WHERE PT.EXAMNO = E.EXAMNO AND E.PETNO = P.PETNO AND PT.TREATNO = T.TREATNO AND 2 < (SELECT TO_DATE(PETTREATMENT.ENDDATE,'DD-MON-YYYY') - TO_DATE(PETTREATMENT.STARTDATE,'DD-MON-YYYY') FROM PETTREATMENT) AND T.COST >100 ORDER BY P.PETNAME;
I am new to SQL and have had some trouble grasping the use of subqueries and where to place them in respect to the outer query. The queries bellow are apart of a problem ive been working on and cant seem to get the desired results.
I need to extract the number of days between a start and end date. Then check if that is greater than 2 and apply that to the outer query. This particular attempt returns "Missing Expression" while other iterations (2nd Query Bellow) have returned an error stating the inner query returns multiple rows.(Modifying to use the "ALL" keyword Did not produce the right results either)
QUERY1
SELECT P.PETNAME,P.PETTYPE FROM PETTREATMENT PT, EXAMINATION E, PET P, TREATMENT T WHERE PT.EXAMNO = E.EXAMNO AND E.PETNO = P.PETNO AND PT.TREATNO = T.TREATNO AND (SELECT TO_DATE(PETTREATMENT.ENDDATE,'DD-MON-YYYY') - TO_DATE(PETTREATMENT.STARTDATE,'DD-MON-YYYY') AS TOTALDAYS FROM PETTREATMENT WHERE TOTALDAYS > 2) AND T.COST >100 ORDER BY P.PETNAME;
QUERY 2
SELECT P.PETNAME,P.PETTYPE FROM PETTREATMENT PT, EXAMINATION E, PET P, TREATMENT T WHERE PT.EXAMNO = E.EXAMNO AND E.PETNO = P.PETNO AND PT.TREATNO = T.TREATNO AND 2 < (SELECT TO_DATE(PETTREATMENT.ENDDATE,'DD-MON-YYYY') - TO_DATE(PETTREATMENT.STARTDATE,'DD-MON-YYYY') FROM PETTREATMENT) AND T.COST >100 ORDER BY P.PETNAME;
原文:https://stackoverflow.com/questions/36603535
最满意答案
Apps Script有一个内置的
Class Utility
用于创建HMAC Sha256签名或令牌:Apps Script has a built in
Class Utility
for creating HMAC Sha256 signature or token:
相关问答
更多-
我不明白服务器端错误,但'payload'参数必须是以下指定的字符串: https : //developers.google.com/apps-script/class_urlfetchapp?hl = fr - FRR #fetch 。 尝试: var options = { "method" : "post", "contentType" : "application/json", "headers" : { "Authorization" : "Basic
如何在Java中生成相当于Python示例的HMAC?(How to generate an HMAC in Java equivalent to a Python example?)[2022-10-26]
HmacSHA1似乎是您需要的算法名称: SecretKeySpec keySpec = new SecretKeySpec( "qnscAdgRlkIhAUPY44oiexBKtQbGY0orf7OV1I50".getBytes(), "HmacSHA1"); Mac mac = Mac.getInstance("HmacSHA1"); mac.init(keySpec); byte[] result = mac.doFinal("foo".getBytes()); B ...你告诉jsSHA库输入是十六进制字符串: var hmacObj = new jsSHA(time, "HEX"); 但是你在hash_hmac()调用之前/之内没有做任何与PHP相同的事情。 这意味着jsSHA获取原始二进制数据,而PHP的hash_hmac()获取文字字符串“0000000002f3e3c9”。 当然,这不会产生相同的结果。 将hex2bin()应用于$time然后将其传递给hash_hmac() 。 You tell that jsSHA library that the input ...您的问题是由您的密钥造成的。 在C#中,您传入一个16字节的数组作为键。 在CryptoJS中,你传入一个CryptoJS正在解释为密码的字符串,因此它将生成一个完全不同的密钥。 编辑 :这是如何在JavaScript中获取正确的密钥: 如果您将16字节密钥转换为Base64,则可以在javascript中执行以下操作。 它将生成一个WordArray作为键,并使用该键生成您的哈希。 var keyBase64 = "eFY0EiMBZ0UBI0VniRI0Vg=="; var key = CryptoJS ...目前这些都不可能。 您可以编写一个ui来询问用户该文件夹。 谷歌选择器现在支持挑选文件夹。 None of those are currently possible. You can write a ui to ask the user for the folder. The google picker now supports picking folders.为什么Go生成与PHP和JavaScript不同的hmac哈希?(Why does Go generate hmac hashes different than PHP and JavaScript?)[2023-07-15]
问题是你的PHP和JavaScript代码都这样做: Base64(Hex(Hmac(key, msg))) 。 你真的不需要双重编码。 在PHP中,您可以简单地请求raw_encoding而不是十六进制: $macSum = hash_hmac('sha256', $data, 'secret', true); 并且在CryptoJS中,您必须直接编码到Base64,而不是编码为十六进制,然后使用btoa() : var data64 = mac.toString(CryptoJS.enc.Base64) ...我应用了你链接的方法并得到: var sig = signature.reduce(function(str,chr){ chr = (chr < 0 ? chr + 256 : chr).toString(16); return str + (chr.length==1?'0':'') + chr; },'');; 所以这里有一个测试函数: function testSig() { var date = new Date(); var message = "Violets are red ...散列不能颠倒。 你不应该能够散列哈希。 正如您在下面的图片中看到的,多个值可能具有相同的散列值。 如果您将散列计算为“02”,则无法知道此散列是在“John Smith”还是“Sandra Dee”上计算的。 这些信息并不存在。 https://en.wikipedia.org/wiki/File:Hash_table_4_1_1_0_0_1_0_LL.svg Hashing can't be reversed. You shouldn't be able to un-hash a hash. As you ...使用带有Google Apps脚本的HMAC方法生成键控哈希值(Generate a keyed hash value using the HMAC method with Google Apps Script)[2023-09-10]
Apps Script有一个内置的Class Utility用于创建HMAC Sha256签名或令牌: 官方应用脚本文档HMAC Sha256签名 Apps Script has a built in Class Utility for creating HMAC Sha256 signature or token: Official Apps Script Documentation HMAC Sha256 signature你的头衔有误导性。 你不希望它运行异步,当你从客户端进行像google.script.run.somefunction()这样的调用时它会默认运行。 您需要做的是,在应用程序脚本中创建另一个功能(比如EmailSentSuccessfully()),根据电子邮件是否已完成发送报告真/假。 它可以读取一个'Property'(本质上是一个静态全局变量),它由实际发送电子邮件的函数更新。 您可以从客户端调用EmailSentSuccessfully(),比如说每2秒一次,直到它返回一个真值。 直到那个时间,什么 ...相关文章
更多- How to Start a Business in 10 Days
- oracle
- hibernate 1+N 问题
- oracle中使用job
- Oracle优化配置指南(4)-Oracle的优化器
- oracle查询问题
- Oracle多表查询
- oracle 联合查询
- oracle 联合查询
- java 存取oracle数据库日期数据
最新问答
更多- 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
- 如何通过引用返回对象?(How is returning an object by reference possible?)
- 矩阵如何存储在内存中?(How are matrices stored in memory?)
- 每个请求的Java新会话?(Java New Session For Each Request?)
- css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
- 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
- xcode语法颜色编码解释?(xcode syntax color coding explained?)
- 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
- 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
- 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
- 西安哪有PLC可控制编程的培训
- 在Entity Framework中选择基类(Select base class in Entity Framework)
- 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
- 电脑二级VF有什么用
- Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
- 金华英语角.
- 手机软件如何制作
- 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
- 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
- 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
- Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
- 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
- python的访问器方法有哪些
- DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
- 在Ruby中对组合进行排序(Sorting a combination in Ruby)
- 网站开发的流程?
- 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
- 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
- 透明度错误IE11(Transparency bug IE11)
- linux的基本操作命令。。。