- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行一个函数来返回两个日期之间的天数差。出于这个原因,我根据日期参数获取两个日期(这工作正常)。接下来,如果在表中找不到日期,我将使用参数 date pdate
来构造日期。这种日期结构没有按预期工作。以下是代码:
`DELIMITER $$
USE payrolldb001 $$
DROP FUNCTION IF EXISTS NoOfWorkingDays $$
CREATE DEFINER=`root`@`localhost` FUNCTION NoOfWorkingDays(P_EmployeeID INT,pdate DATE) RETURNS INT(10)
READS SQL DATA
BEGIN
DECLARE v_FromDate DATE;
DECLARE todate DATE;
DECLARE workingdays INT;
DECLARE shiftoff INT;
DECLARE gazzetted INT;
SET v_FromDate=(SELECT cp.FromDate FROM current_payroll cp
INNER JOIN employees e ON e.employeeid=P_EmployeeID AND e.CompanyCode=cp.CompanyCode
AND e.SubOfficeCode=cp.SubOfficeCode
WHERE pdate BETWEEN cp.FromDate AND cp.ToDate);
IF (v_FromDate IS NOT NULL) THEN
SET todate=(SELECT cp.ToDate FROM current_payroll cp
INNER JOIN employees e ON e.employeeid=P_EmployeeID AND e.CompanyCode=cp.CompanyCode
AND e.SubOfficeCode=cp.SubOfficeCode
WHERE pdate BETWEEN cp.FromDate AND cp.ToDate);
ELSE
SET v_FromDate=STR_TO_DATE(CONCAT(YEAR(pdate),'',MONTH(pdate)-1,'-21'),"%d%m%Y");
SET todate=STR_TO_DATE(CONCAT(YEAR(pdate),'-',MONTH(pdate),'-20'),"%d%m%Y");
END IF;
SET workingdays = DATEDIFF(todate,v_FromDate);
WHILE v_FromDate<=todate DO
SET shiftoff= `isShiftOff`(P_EmployeeID,v_FromDate);
IF (shiftoff=0) THEN
SET gazzetted = `GazettedHoliday`(v_FromDate,P_Employeeid);
SET workingdays = workingdays-gazzetted;
ELSE
SET workingdays=workingdays-shiftoff;
END IF;
-- RESET QUERY CACHE;
-- FLUSH QUERY CACHE;
SET v_FromDate = ADDDATE(v_FromDate,1);
END WHILE;
RETURN workingdays ;
END$$
DELIMITER ;`
我得到的错误如下:不正确的日期时间值:函数 str_to_date 的“2013-8-21”
在 v_FromDate
的转换中。
最佳答案
解决方法是将日期变量的设置更改为:
SET v_FromDate=STR_TO_DATE(CONCAT(YEAR(pdate),'-',MONTH(pdate)-1,'-',21),"%Y-%c-%d");
SET todate=STR_TO_DATE(CONCAT(YEAR(pdate),'-',MONTH(pdate),'-',20),"%Y-%c-%d");
关于MYSQL STR_TO_DATE 未返回所需结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977272/
我在尝试将日期列的格式从如下所示:05-JUN-15 转换为标准 MYSQL 格式时遇到问题。我尝试做的是: UPDATE sp_building_headcount set `ATTENDA
我在使用 STR_TO_DATE 函数的两个不同 Docker 镜像中遇到了不一致的行为。在一个 ubuntu 机器上运行,另一个在我的 Mac 上运行。 在 Linux 上: SELECT STR_
这是怎么回事? str_to_date('26/04/2011 00:00:00', '%d/%m/%Y')它给出 Error Code: 1292 Truncated incorrect date
我有一个名为 ReleaseDate 的列(它是一个字符串)。它们中的大多数采用 %e %M %Y(1979 年 5 月 25 日)的形式,但也有一些只是 %M %Y(1979 年 5 月) ) 或
我正在尝试运行一个函数来返回两个日期之间的天数差。出于这个原因,我根据日期参数获取两个日期(这工作正常)。接下来,如果在表中找不到日期,我将使用参数 date pdate 来构造日期。这种日期结构没有
str_to_date 和 concat 联合函数与时间和日期。我不知道如何在访问时将格式更改为导入或之后或直接填充。 CREATE trigger `trigger` before insert
以下内容从我的数据库返回一堆行: USE test; SELECT * FROM aaaa WHERE dddd BETWEEN (NOW() - INTERVAL 42 DAY) AND (NOW(
我正在使用应用程序日志中的时间戳,格式为“Apr 28 09:54:46”,这是下面 NEW.timestamp 中的值的格式。在按以下方式插入之前尝试使用触发器进行解析。 CREATE DEFINE
我正在尝试使用 STR_TO_DATE() 函数插入日期。由于某种原因它一直失败。有人可以帮忙吗?谢谢 HTML: Total Sales : Company Name : Sales T
这很奇怪,但我不明白到底发生了什么。我只是想通过计算两个日期之间的差异来更新我的列值。我有两列,其日期为 column_45 和 column_14,这两列的日期格式均为 4/8/2011 和 4/8
专家们,我快疯了...str_to_date 不起作用 mysql> describe product_tbl; +--------------------+-------------+------+
问候 Stackian Overflowers, 我正在尝试覆盖现有列中的数据,并在已设置的情况下执行 STR_TO_DATE。 代码如下: SELECT IF(columnA = '../../..
我想将 MySQL 字符串转换为所需的日期格式。 我的文件中有以下几行。 30-06-2017,clarke 31-07-2018,warner 我的表格有 2 列。 Column1 datatype
如果我在 MySQL 中使用这个命令: SELECT node.nid AS nid, users.uid AS users_uid, node.created AS node_created FRO
我的数据库中有一个 varchar 类型的 datecreated 字段。不幸的是,我无法将此字段更改为日期格式,因此我必须在选择数据时执行此操作。我试图根据日期对记录进行排序(以便显示最近的年、月、
我需要使用 STR_TO_DATE 将日期时间插入到 mysql 表中,但下面的命令给出的日期时间列始终为 NULL。 insert into DETECTED values(NULL,STR_TO
我正在尝试使用 STR_TO_DATE 函数格式化包含时间值的字符串。时间值为:不带前导零的小时(0-23) + 分钟(00-59)例如800、1245 或 1535。为了格式化这些值,我尝试使用 %
我在使用以下代码时遇到问题: INSERT into `fun` ( funner) SELECT YEAR(STR_TO_DATE(SUBSTRING(time,1,4), '%Y')) FROM
我的 MySQL(版本 5.7.25)数据库有一列,其中充满了 varchar(100) 日期,例如 Fri May 04 08:08:42 UTC 2018.我需要将它们转换为日期。 到目前为止我已
我正在尝试执行一些计算并使用 SQL 查询使用计算值更新表。使用的查询如下: UPDATE `table1` pv inner join (SELECT Email,IF(`DS Start
我是一名优秀的程序员,十分优秀!