- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用两个存储函数,它们可以工作,当放入 SELECT 时,它们返回正确的值,但是当我尝试减少并获取这些值的子集时,我得到一个没有警告的空集。
这是我的 SQL。
SELECT
DISTINCT
e.ims_event_id,
e.name,
e.begin_time bUTC,
e.end_time eUTC,
DATE_FORMAT(DATE_ADD(e.begin_time, INTERVAL ptat_getTZOffset(pp.subject_to_dlst, tz.delta_time, e.begin_time, country) MINUTE),'%H:%i') begin_local,
DATE_FORMAT(DATE_ADD(e.end_time, INTERVAL ptat_getTZOffset(pp.subject_to_dlst, tz.delta_time, e.end_time, country) MINUTE),'%H:%i') end_local,
DATE_FORMAT(ptat_getEventHalfPoint(pp.subject_to_dlst, tz.delta_time, e.begin_time, e.duration, country),'%H:%i') begin_local_halfPoint,
DATE_FORMAT(DATE_ADD(pp.start_time, INTERVAL ptat_getTZOffset(pp.subject_to_dlst, tz.delta_time, pp.start_time, country) MINUTE),'%H:%i') ptat_begin,
DATE_FORMAT(DATE_ADD(pp.end_time, INTERVAL ptat_getTZOffset(pp.subject_to_dlst, tz.delta_time, pp.end_time, country) MINUTE),'%H:%i') ptat_end
FROM
event e
JOIN service s ON e.service_uid = s.service_uid
JOIN service_ptc sp ON s.service_uid = sp.service_uid
JOIN service_primetime_period spp ON s.service_uid = spp.service_uid
JOIN primetime_period pp ON spp.primetime_period_uid = pp.primetime_period_uid
JOIN time_zone tz ON pp.time_zone_id = tz.time_zone_id
JOIN dlst_info dli ON country = 'US' AND dli.year = DATE_FORMAT(e.begin_time,'%Y')
WHERE
(POW(2,DATE_FORMAT(DATE_ADD(e.begin_time,INTERVAL tz.delta_time HOUR), '%w'))&pp.weekdays) > 0 AND
e.end_time > NOW() AND
e.begin_time < DATE_ADD(NOW(),INTERVAL 8 DAY) AND
DATE_FORMAT(ptat_getEventHalfPoint(pp.subject_to_dlst, tz.delta_time, e.begin_time, e.duration, country),'%H:%i') BETWEEN
DATE_FORMAT(DATE_ADD(pp.start_time, INTERVAL ptat_getTZOffset(pp.subject_to_dlst, tz.delta_time, pp.start_time, country) MINUTE),'%H:%i') AND
DATE_FORMAT(DATE_ADD(pp.end_time, INTERVAL ptat_getTZOffset(pp.subject_to_dlst, tz.delta_time, pp.end_time, country) MINUTE),'%H:%i')
ORDER BY e.begin_time;
添加 WHERE 子句的最后 3 行时,返回零。它们被复制并粘贴到 SELECT 中并且工作得很好。
我真的很困惑!
此外,当使用字符串进行比较时(即 ... = '19:00'),我得到了结果。任何人都知道出了什么问题?
编辑:不包括 where 子句时返回的示例行。
| 370617336 | Dancing With the Stars | 2012-04-04 05:00:00 | 2012-04-04 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371138764 | Escape Routes | 2012-04-08 05:00:00 | 2012-04-08 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371138733 | Who Do You Think You Are? | 2012-04-07 05:00:00 | 2012-04-07 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371138638 | The Biggest Loser | 2012-04-04 05:00:00 | 2012-04-04 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371676424 | Survivor: One World | 2012-04-05 05:00:00 | 2012-04-05 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371676489 | Undercover Boss | 2012-04-07 05:00:00 | 2012-04-07 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371676386 | NCIS | 2012-04-04 05:00:00 | 2012-04-04 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371412875 | Bones | 2012-04-03 05:00:00 | 2012-04-03 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371413006 | American Idol | 2012-04-06 05:00:00 | 2012-04-06 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371413149 | Bones | 2012-04-10 05:00:00 | 2012-04-10 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 371413041 | The Finder | 2012-04-07 05:00:00 | 2012-04-07 06:00:00 | 19:00 | 20:00 | 19:30 | 19:00 | 22:00 |
| 370617100 | Once Upon a Time | 2012-04-09 05:00:00 | 2012-04-09 06:00:00 | 19:00 | 20:00 | 19:30 | 18:00 | 22:00 |
| 371138792 | Harry's Law | 2012-04-09 05:00:00 | 2012-04-09 06:00:00 | 19:00 | 20:00 | 19:30 | 18:00 | 22:00 |
| 371676549 | The Amazing Race | 2012-04-09 05:00:00 | 2012-04-09 06:00:00 | 19:00 | 20:00 | 19:30 | 18:00 | 22:00 |
编辑#2:我从所有表中取出所有字段,并将其组合到沙盒中的一个表中。我将我的两个函数都设为静态(以始终假设我们处于夏季夏令时)并添加了示例数据。有用!所以我想我必须回溯,SQL 语法或逻辑并没有错。某些列、某些连接或表失败。我也间歇性地得到这个错误:
Error | 1366 | Incorrect decimal value: '' for column '' at row -1
如果我可以附加一个 SQL 文件,我可以附加我的测试模式,我不想将它粘贴到这里。
最佳答案
我在做项目时也发现了一些东西。
想要从 DB 中过滤记录,这些记录介于早上 5 点到下午 1 点之间。我想在查询字符串中传递 AM 或 PM 参数。但是mysql date_format 总是采用24 小时格式。上午或下午无关紧要。
select poll_voting_result_id,poll_master_id,date_voting,date_format(date_voting,'%Y-%m-%d %r') as 12_hour_format_R,
date_format(date_voting,'%Y-%m-%d %H:%i:%s %p') as 24_hour_format_P from poll_voting_result
where up_down = 0
and
poll_master_id = '11'
and
date(date_voting) = '2013-03-20'
and date_format(date_voting,'%H:%i:%s %r') BETWEEN '05:00 AM' and '13:01:06 PM'
order by date_voting ASC
select poll_voting_result_id,poll_master_id,date_voting,date_format(date_voting,'%Y-%m-%d %r') as 12_hour_format_R,
date_format(date_voting,'%Y-%m-%d %H:%i:%s %p') as 24_hour_format_P from poll_voting_result
where up_down = 0
and
poll_master_id = '11'
and
date(date_voting) = '2013-03-20'
and date_format(date_voting,'%H:%i:%s %p') BETWEEN '05:00' and '13:01:06'
order by date_voting ASC
以上两个查询都工作正常。但我需要通过
在“05:00 AM”和“01:01:06 PM”之间
关于使用 BETWEEN 的 MySQL DATE_FORMAT 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9983478/
我在我的数据库中为每个预订使用 unix 时间戳整数存储时间。我遇到了一个问题,我的查询没有正确选择内容,而且似乎休息了一天。 例如,在我的网站上,我有一个日历表,它显示了一个月中的每一天。我使用以下
我在 cakephp 框架中工作, 因为我将日期字符串存储在 varchar 字段中。我需要在需要更改格式之后转换它的时区。这是查询。 SELECT DATE_FORMAT(cast( CONVERT
为什么我的日期比较不起作用, 主要返回所有日期或不返回任何日期 Select DATE_FORMAT(time,'%Y - %m - %d'),'2013 - 01 - 10' FROM signa
我有一张来自 Daloradius 的 table : {CREATE TABLE `radacct` ( `radacctid` bigint(21) NOT NULL AUTO_INCREME
2015 年有 53 周。如果您现在的一周从星期一开始,则为 2016 年 1 月 1 日、2 日和 3 日,也在第 53 周。2016 年 1 月 4 日是第 1 周。 在 MySQL 中,它输出如
我收到了一些时间戳,其格式如下: 2018-02-26T23:59:49Z 我想将此日期插入到日期时间列中。执行以下语句有效 SELECT DATE_FORMAT('2018-02-26T23:59:
我有一个名为“reportinc”的表,我必须在其中提取从 1 或过去几天的 18:01(时间格式为 %H:%i)到今天 18:00 的项目(它是 VARCHAR 字段)。 我尝试过这个查询 SELE
select d.doctorFName,d.doctorLName ,count(ap.appointmentID) totalap, GROUP_CONCAT(DISTINCT s.speci
我正在尝试关注 my_table,其中修改时间的类型为 datetime select DATE_FORMAT(modifiedtime,'%d-%m-%Y') from my_table where
以下 sql 查询的等效 cakephp find 查询是什么? 假设price_date字段类型为日期时间 $sql = "SELECT id,product_id,date_format("%Y-
我有以下输出 2015-05-06 10:30:00 SELECT DATE_FORMAT( NOW( ) , '%Y-%m-%d' ' 10:30:00' ) 我现在想增加日期,以便输出,2015-
2016年的第一周,实际上是2015年的第53周,被mysql转换成2016年的第53周。如何将其转换为实际周,即 2015 年第 53 周? http://www.epochconverter.co
我将 Doctrine2 与 Laravel5 和 MySql 一起使用,并且在 GROUP_CONCAT()、DATE_FORMAT() 方面遇到一些问题。 我通过安装扩展 Beberlei Doc
我相信我是一个熟练的 mysql 用户,但显然我不是。 我以为 mysql 会在比较之前进行转换,但是这个查询让我感到困惑: SELECT DATE_FORMAT('2019-07-19 12:0
我在Mysql中的代码: 从项目中选择 DATE_FORMAT( 创建 , '%Y'); 如何在 CakePHP 中编码? 最佳答案 这里可以使用func()方法。考虑到您将在 Item 模型中编写查
当我尝试使用 DATE_FORMAT(delv_time, '%Y-%m-%d') 它返回 null。 最佳答案 就 MySQL 而言,这还不是日期。这是一个字符串。您需要使用 STR_TO_DATE
我有一个小的 sql 查询,它获取日期时间列的日期部分 Select DATE_FORMAT(`tbldata`.`fldDate`, '%d/%m/%Y') AS formattedDate fro
尝试将时间 ID 和时间本身带回到存储在 mysql 中的列表框中。在 myadmin 中运行 sql 运行良好,在代码中尝试...不太好。带回 undefined index 错误。谢谢。 cal
我试图按日期升序排列日期和时间表,然后按开始时间升序排列,但我的日期列表显示的顺序不正确。不过,开始时间列表似乎确实有效。 顺序应显示为 18/08/2014 然后 19/08/2014 然后 20/
有人可以解释一下 difference between the %h and %I ?两者都被描述为“小时 (01..12)” 并且与秒 %s 和 %S 相同?这背后有什么“奇怪”的功能吗?复制它的原
我是一名优秀的程序员,十分优秀!