大家帮我看个SQL2008字符串转换时间问题。执行提示从字符串转换日期和/或时间时,转换失败

a312991915 2011-03-16 11:32:41
ALTER proc [dbo].[Sp_tj_Sjtj]
(
@Communityid varchar(10),
@type varchar(5) ,
@Stime datetime, --开始时间
@Etime datetime --截止时间
)
as

begin
declare @strsql varchar(8000),
@name varchar(20),
@where varchar(50)
if @Communityid='0' or @Communityid='' or @Communityid =null or @Communityid is null
set @Communityid ='null'
IF @Stime = ''
SET @Stime = NULL
IF @Etime = ''
SET @Etime = NULL
if(@type='1')
begin
set @name='TypeName'
set @where='t.Typeid';
end
else if(@type='2')
begin
set @name='FlowCategoryName'
set @where='fc.FlowCategoryid';
end
else
begin
set @name='FlowName'
set @where='f.Flowid';
end


set @strsql ='

select isnull( '+@name+',''未知'') name ,COUNT(cid) as ''合计'','+@where+' id from tblCase c
left join tblFlow f on c.Flowid=f.Flowid
left join tblFlowCategory fc on f.FlowCategoryid =fc.FlowCategoryid
left join tblType t on fc.typeid=t.Typeid where
(CommunityID='+@Communityid+' or '+@Communityid+' is null)
and (CONVERT(varchar(100),c.HappenTime,23)>='+@Stime+' or '+@Stime+' is null)
and (CONVERT(varchar(100),c.HappenTime,23)<='+@Etime+' or '+@Etime+' is null)
group by '+@where+','+@name+'

order by ''合计'' desc'
exec(@strsql)

end
...全文
687 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
a312991915 2011-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ihandler 的回复:]
检查数据库中的数据行中列c.HappenTime的值是否有null 或 空字符串值

以及 参数 @Stime、@Etime 是否传了正确格式的值
[/Quote]
没有空的啊,我就算不拼语句。这样写都没事

select * from tblCase c
left join tblFlow f on c.Flowid=f.Flowid
left join tblFlowCategory fc on f.FlowCategoryid =fc.FlowCategoryid
left join tblType t on fc.typeid=t.Typeid
where (CommunityID=1 or Communityid is null)
and (CONVERT(varchar(100),c.HappenTime,23)>='2011-03-01')
and (CONVERT(varchar(100),c.HappenTime,23)<='2011-03-05')
IHandler 2011-03-16
  • 打赏
  • 举报
回复
检查数据库中的数据行中列c.HappenTime的值是否有null 或 空字符串值

以及 参数 @Stime、@Etime 是否传了正确格式的值
a312991915 2011-03-16
  • 打赏
  • 举报
回复
不行啊。
cpp2017 2011-03-16
  • 打赏
  • 举报
回复
CONVERT(varchar(100),c.HappenTime,23)>='+@Stime+' or '+@Stime+' is null

==>



IsNull(@Stime,getdate())> c.HappenTime
a312991915 2011-03-16
  • 打赏
  • 举报
回复
没答案,还是谢谢了。

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧