易截截图软件、单文件、免安装、纯绿色、仅160KB

mssql函数翻译 - 其他数据库开发 / MySQL/Postgresql

跪求将以下函数翻译为 mysql 的语法


CREATE FUNCTION workdayadd( 
@date datetime, --基础日期 
@workday int --要增加的工作日数 
)RETURNS datetime 
AS 
BEGIN 
DECLARE @bz int 
--增加整周的天数 
SELECT @bz=CASE WHEN @workday<0 THEN -1 ELSE 1 END 
,@date=DATEADD(Week,@workday/5,@date) 
,@workday=@workday%5 
--增加不是整周的工作天数 
WHILE @workday<>0 
SELECT @date=DATEADD(Day,@bz,@date), 
@workday=CASE WHEN (@@DATEFIRST+DATEPART(Weekday,@date)-1)%7 BETWEEN 1 AND 5 
THEN @workday-@bz ELSE @workday END 
--避免处理后的日期停留在非工作日上 
WHILE (@@DATEFIRST+DATEPART(Weekday,@date)-1)%7 in(0,6) 
SET @date=DATEADD(Day,@bz,@date) 
RETURN(@date) 
END
在线等高手


回楼上

以上函数功能例如:“workdayadd('2009-10-01',3)”
返回2009-10-01之后3个工作日的日期,第二个参数也可以用负值,同理得到之前3个工作日的日期

剔除周末用的

引用返回2009-10-01之后3个工作日的日期
具体是什么日期? 另外建议多给几个测试用日期。

是这样的:
  比如:workdayadd('2010-05-06',3) 返回:2010-05-11
  workdayadd('2010-05-06',-3) 返回:2010-05-03
  workdayadd('2010-05-06',-8) 返回:2010-04-26
  workdayadd('2010-05-06',8)


相关问答:

eclipse连接mysql数据库 - Java / Eclipse

先上错误
无法联接数据库
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java: ......

mysql数据库 - Java / Java相关

CREATE DATABASE ADDRESSLIST;
USE ADDRESSLIST;
DROP TABLE IF EXISTS FRIEND;
CREATE TABLE FRIEND
  (FRIEND_ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY ,
FRIEND_NAME VARCHAR(20) NOT N ......

mysql预处理 - 其他数据库开发 / MySQL/Postgresql

SQL code:

create procedure proc_batchUpdate(in categoryId integer , in artIds varchar(50))
begin
set @dsql = count('update article set type=' , categoryId , ' where id in (' , artIds , ' ......

mysql区没高手 - MS-SQL Server / 基础类

我觉得mysql和sqlserver有共同的地方:
有个问题是关于表的锁问题:
进程A 进程B
select * from user where id in lock share mode(共享锁)
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号