我有一个不再在这里的同事写的SQL查询.该查询作为SSIS作业的一部分运行,并且从本月开始失败,出现以下错误:
将varchar数据类型转换为日期时间数据类型会导致超出范围的值.
查询本身只是一个基本选择,带有where子句,用于查找特定时间范围内的值(@startdate和之间的日期范围@enddate)
确定时间范围的代码如下:
DECLARE @RunDateTime datetime
DECLARE @RunDate datetime
DECLARE @StartDate datetime
DECLARE @EndDate datetime
DECLARE @Month int
DECLARE @Year int
DECLARE @strStartDate varchar(10)
SET @RunDateTime = GetDate()
SET @RunDate = cast(round(convert(real, @RunDateTime),0,1) as datetime)
IF DATEPART(d, @RunDate) = 16
BEGIN
SET @StartDate = DATEADD(d, -15, @RunDate)
SET @EndDate = @RunDate
END
ELSE
BEGIN
IF Month(@RunDate) = 1
SET @Month = 12
ELSE
SET @Month = Month(@RunDate) - 1
IF Month(@RunDate) = 1
SET @Year …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的查询,这让我绝对疯狂.
情况如下:
我已经尝试在SQL Server 2005表上创建不同的索引,对存在的所有索引进行碎片整理,更新表统计信息等.没有什么能够使这个查询在SQL Server 2005上运行得更快.目前没有其他任何针对SQL运行Server 2005服务器和我们的DBA向我保证,这不是配置问题或与SQL Server 2000和SQL Server 2005之间的功能弃用有关.
查询如下:
SELECT (CASE
WHEN TeamMember.ID IN (SELECT DISTINCT ProjMgrID FROM ProjMgr)
THEN 'Yes'
ELSE 'No'
END) AS OnProjAsMgr
FROM TeamMember
Run Code Online (Sandbox Code Playgroud)
因此,返回所有ProjMgrs的不同列表,如果TeamMember在该列表上,则为OnProjAsMgr值指定"Yes".
我是一个完整的SQL新手,这是由前任编写的代码.我不知道是否有更好的方法来编写它,但我无法弄清楚为什么它在SQL Server 2000上运行得很好但在SQL Server 2005上完全崩溃.
我之前从未做过ruby脚本的事情,并且希望有人能在这里快速回答.我正在进行一个时间敏感的项目,并希望SO能够提供一些见解.
我在这里搜索过,并找到了一些ruby脚本指南,并认为我理解以下大部分代码,但有一些我无法弄清楚的事情.
我从ruby脚本中得到以下例外,我只需要知道它在做什么:
其中docName和document_name是文件路径的字符串
case docName
when /^QRX/ then document_name = "/TRPRR/#{docName}"
when /^BVN/ then document_name = "/TRPRR/#{docName}"
....
Run Code Online (Sandbox Code Playgroud)
还有很多其他案例,我理解案例陈述.我不明白以下几点:
是/ ^ QRX /某种正则表达式还是什么?又是什么的#{} DOCNAME办?