存储过程时间参数
一般时间类型的参数你可以
1.
定义一个时间类型的变量赋值后,再将这个变量作为参数传入
2.
直接给参数像时间类型一样赋值
直接给一个时间格式的字符串
❷ RDP报表工具存储过程的查询参数为时间范围时,怎么配置报表的参数
配置说明:
配置方式: 报表配置存储过程语法为{call 存储过程名称(查询参数1[?],返回参数)}
以{call SCENE1(?)} 为说明{call }属于默认基础语法。SCENE1是存储过程名称,问号?为SCENE1存储过程返回参数,根据存储过程的参数个数需要配置相同的“?”问号数量。
SCENE1存储一个返回参数故配置SCENE1(?),结合报表存储过程固定配置形成:{call SCENE1(?)}
❸ 调用存储过程存时间参数出错
SqlParameter p4 =new SqlParameter("@时间",DateTime.Now.ToLocalTime());
上面这句错误,你只要写DateTime。now就可以了,不要tostring了哦
❹ 存储过程中动态SQL中的传入参数为datetime类型的问题
你先调试一下,少了个@和begin、end
另外,拼接变量不能在字符串内啊,这样没用
create procere [dbo].[baobiao1]
@date1 datetime,
@date2 datetime
as
set nocount on
begin
Set XACT_ABORT ON;
Begin Tran
Declare @SQL1 varchar(8000)
Declare @SQL2 varchar(8000)
--Set @SQL='Create view A as select ....'
--Exec(@SQL)
if exists (SELECT * FROM sysobjects WHERE name = 'report1')
begin
drop view report1
end
set @SQL1='create view report1 as select s.englishName,s.belongzu,count(*) kaitai,
jiachan=(case s.shiftName when ''甲'' then sum(s.realproc) else 0 end),
jiachaochan=(case s.shiftName when ''甲'' then sum(s.realproc-s.singleplan*s.workminute/60) else 0 end),
yichan=(case s.shiftName when ''乙'' then sum(s.realproc) else 0 end),
yichaochan=(case s.shiftName when ''乙'' then sum(s.realproc-s.singleplan*s.workminute/60) else 0 end),
bingchan=(case s.shiftName when''丙''then sum(s.realproc) else 0 end),
bingchaochan=(case s.shiftName when''丙''then sum(s.realproc-s.singleplan*s.workminute/60) else 0 end),
dingchan=(case s.shiftName when''丁''then sum(s.realproc) else 0 end),
dingchaochan=(case s.shiftName when''丁''then sum(s.realproc-s.singleplan*s.workminute/60) else 0 end),
(case when s.shiftName =''甲''then sum(p.cibushu) else 0 end) jiacibu,
(case when s.shiftName =''乙''then sum(p.cibushu) else 0 end) yicibu,
(case when s.shiftName =''丙''then sum(p.cibushu) else 0 end) bingcibu,
(case when s.shiftName =''丁''then sum(p.cibushu) else 0 end) dingcibu,
(case when s.shiftName =''甲''then sum(p.kaijianshu) else 0 end) jiakaijian,
(case when s.shiftName =''乙''then sum(p.kaijianshu) else 0 end) yikaijian,
(case when s.shiftName =''丙''then sum(p.kaijianshu) else 0 end) bingkaijian,
(case when s.shiftName =''丁''then sum(p.kaijianshu) else 0 end) dingkaijian
from HistoryPro1 s left outer join kaijianjicibu2 p on s.wholeDate = p.wholeDate AND
s.MachineID = p.MachineID AND
s.shiftName = p.shiftName where s.wholeDate >=‘+@date1+‘ and s.wholeDate <=’+@date2=‘ group by s.englishName,s.belongzu,s.shiftName'
exec(@SQL1)
commit Tran
end
set nocount on
GO
❺ 调用SQL的存储过程时怎样输入时间类型的参数
一般时间类型的参数你可以
定义一个时间类型的变量赋值后,再将这个变量作为参数传入
直接给参数像时间类型一样赋值 直接给一个时间格式的字符串
❻ 在存储过程中,这样子判断时间参数有什么意义
上面描述说在VS2008中本身就要判断时间为空的异常,如果为空,就会赋值为1900-01-01
(我一直还在用vs2005,所以不太清楚),如果所说属实,则这个过程是为了防止违反并发而做的,只不过最后应该存@buy_give_date,不然毫无意义。
比如:在程序中时间为空,存到数据库里之后就成1900了,那么在程序在内存中与数据库中数据不一致了,修改此数据再次保存时,则会引发并发。
❼ oracle 存储过程中时间参数问题
建议
create procere A( dt varchar2) is
调用时再转换,要不然日期格式的参数容易格式自动转变,select 语句执行后会漏掉一些数据
❽ delphi2010下使用TMyQuery调用mysql的存储过程传时间参数的问题
MySQL的存储过程定义为:
BEGIN
SELECT * FROM(select 派单时间,派单人,流水号,车辆单位,车牌号码,cast(GPS北斗维修派单 as DECIMAL) as GPS北斗维修派单
from all_in
WHERE 派单时间 BETWEEN strBeginTime AND strEndTime ORDER BY 派单时间 DESC)t3
union all
SELECT * FROM(selectcast('合计' as CHAR) as 派单时间,cast('' as CHAR) as 派单人,cast('' as CHAR) as 流水号,cast('' as CHAR) as 车辆单位,cast('' as CHAR) as 车牌号码,sum(GPS北斗维修派单)
from all_in
WHERE 派单时间 BETWEEN strBeginTime AND strEndTime ORDER BY 派单时间 DESC)t4;
END