小编Shm*_*nix的帖子

如何查找两个日期之间的天数

我有一个基本的查询:

SELECT dtCreated
    , bActive
    , dtLastPaymentAttempt
    , dtLastUpdated
    , dtLastVisit
FROM Customers
WHERE (bActive = 'true') 
    AND (dtLastUpdated > CONVERT(DATETIME, '2012-01-0100:00:00', 102))
Run Code Online (Sandbox Code Playgroud)

我想在输出中添加另一列...让我们称之为"差异"以找出'dtcreated'和'dtlastupdated'之间的天数所以例如如果记录1的dtcreated为1/1/11并且dtlastupdated是1/1/12,"差异"列将是"365".

这可以在查询中完成吗?

sql sql-server

12
推荐指数
2
解决办法
14万
查看次数

如何在"Where"子句中使用"and"和"or"

我有一个基于一组条件收集信息的查询.基本上我想知道一个位置当天是否支付了超过50美元或评论部分中有"过滤器"一词......

我的查询是:

SELECT        Store_Id, Paid_Out_Amount, Paid_Out_Comment, Paid_Out_Datetime, Update_UserName, Till_Number
FROM            Paid_Out_Tb
WHERE        (Store_Id = 1929) AND (Paid_Out_Datetime >= DATEADD(day, DATEDIFF(day, 0, GETDATE()) - 1, 0)) AND (Paid_Out_Datetime < DATEADD(day, DATEDIFF(day, 0, 
                         GETDATE()), 0)) AND (Paid_Out_Amount > 50) OR
                         (Paid_Out_Comment LIKE N'%' + 'Filter' + '%')
Run Code Online (Sandbox Code Playgroud)

问题是它返回460结果,应该只返回2.

sql where-clause

9
推荐指数
3
解决办法
6万
查看次数

如何在数据库的列中获取非数字条目

我有用于自动收费的客户数据库.CC到期字段似乎有一些记录,其中包含有效期限的无效条目...例如非数字.有没有办法搜索具有非数字值的条目?下面是我将如何假设查询看起来的开始......

select *
from customers
where ccexperiation = non numeric
Run Code Online (Sandbox Code Playgroud)

谢谢.

sql-server-2008

8
推荐指数
1
解决办法
2万
查看次数

具有多个查询和不同选定列的存储函数

我有一系列基于报告类型的查询.为简单起见,这是我正在尝试做的一个例子:

If @Reporttype = '1'
Select lcustomerid, lname, fname
from customers
Where dtcreated > @startdate

Else if @Reporttype = '2'
Select barcode, lname, fname 
from employees
where dtcreated > @startdate

Else if @reporttype = '3'
Select thetime, lname, name, barcode, lcustomerid
from Customers
where dtcreated > @startdate
Run Code Online (Sandbox Code Playgroud)

根据传递的报告类型,您会注意到我运行了3个单独的查询.您还会注意到我返回的是不同的列和列数.

我想把它变成一个存储函数,并根据我传递的报告类型返回我需要的列.但是,我知道由于列数和列名不同 - 这不会像我希望的那样作为存储函数工作.

这里的主要问题是报告此信息 - 我不希望有单独的功能,因为我将不得不为每种报告类型维护不同的报告.

有没有办法让这项工作成功?

sql sql-server sql-server-2008

8
推荐指数
1
解决办法
1322
查看次数

程序不会建立

我正在尝试构建一个程序,我收到错误:

Error   2   An error occurred while signing: Failed to sign bin\Release\app.publish\\setup.exe. SignTool Error: ISignedCode::Sign returned error: 0x80880253

    The signer's certificate is not valid for signing.

SignTool Error: An error occurred while attempting to sign: bin\Release\app.publish\\setup.exe  program1
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

vb.net

7
推荐指数
1
解决办法
8551
查看次数

如何分组时间段并检查休息时间

我有一个存储功能,可以提取所有员工的时钟信息.我正试图提出一份例外报告来审核午餐.我当前的查询一次构建所有信息1段.

SELECT        ftc.lEmployeeID, ftc.sFirstName, ftc.sLastName, ftc.dtTimeIn,
              ftc.dtTimeOut, ftc.TotalHours, ftc.PunchedIn, ftc.Edited
FROM          dbo.fTimeCard(@StartDate, @EndDate, @DeptList,
                            @iActive, @EmployeeList) AS ftc
              LEFT OUTER JOIN Employees AS e ON ftc.lEmployeeID = e.lEmployeeID
WHERE        (ftc.TotalHours >= 0) AND (ftc.DID IS NOT NULL) OR
                         (ftc.DID IS NOT NULL) AND (ftc.dtTimeOut IS NULL)
Run Code Online (Sandbox Code Playgroud)

这个输出看起来像这样:

24  Bob bibby   8/2/2013 11:55:23 AM    8/2/2013 3:36:44 PM 3.68
24  bob bibby   8/2/2013 4:10:46 PM 8/2/2013 8:14:30 PM 4.07
39  rob blah    8/2/2013 8:01:57 AM 8/2/2013 5:01:40 PM 9.01
41  john    doe …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2005 sql-server-2008

5
推荐指数
1
解决办法
2106
查看次数

如何在"今天"的日期从凌晨12:00到晚上11:59运行查询

我有一个简单的查询,可以为我们的一天提供支付报告.我想自动发送这个每晚发送,但我希望报告每天上午12:00 AM - 晚上11:59运行...我将在晚上9:00发送报告,所以我想它如果这更容易,只需要到晚上9点才能到达.

这是我的查询:

SELECT        COUNT(*) AS Number, SUM(dblPayoutAmt) AS Amount
FROM            Payouts
WHERE        (dtCreated BETWEEN @startdate AND @enddate)
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

4
推荐指数
1
解决办法
8162
查看次数

如何将昨天的日期分配给参数C#

我有一个C#程序,它将作为Windows计划任务运行.该程序将加载,运行SQL查询,通过电子邮件发送存储在数据集中的结果,然后关闭.除了使用昨天的日期之外我还有其他所有东西.

这是我目前的查询:

SELECT        Store_Id, Paid_Out_Amount, Paid_Out_Comment, Paid_Out_Datetime, Update_UserName, Till_Number, @startdate AS Start, @enddate AS Today
FROM            Paid_Out_Tb
WHERE        (Store_Id = 1929) AND (Paid_Out_Datetime BETWEEN @startdate AND @enddate)
Run Code Online (Sandbox Code Playgroud)

显然我需要在查询时分配@startdate和@enddate.因为我需要12AM到1159PM这是开始和结束的原因.所以举个例子.如果我想今天运行该程序,它将在昨天(23日)进行搜索,因此@startdate将被分配7/22/12 00:00:00而@enddate将被分配7/22/12 23:59:59 .. .

在查询而不是程序中执行它会更有意义吗?如果是这样,我将如何更改查询?

c# sql-server datetime sql-server-2000

3
推荐指数
1
解决办法
1310
查看次数

VB.NET System.NullReferenceException

我有一个VB.NET程序,可以从10个不同的数据库构建多个数据集.

我得到了这个例外:

System.NullReferenceException: Object referenced not set to an 
instance of an object:
Run Code Online (Sandbox Code Playgroud)

此错误发生在以下行:

Me.OverTableAdapter.Adapter.SelectCommand.CommandTimeout = 60000
Me.OverTableAdapter.Fill(Me.Dataset.Over, TodayDt, TodayEnd)
Run Code Online (Sandbox Code Playgroud)

这个例外意味着什么?

vb.net dataset nullreferenceexception

3
推荐指数
1
解决办法
2309
查看次数

如何选择表中不存在的列,并为返回的所有行返回NULL结果

我有一个查询,我正在寻找一个不存在的列,并在结果中填入"NULL".数据将导出到.CSV文件以导入到具有该列的另一个数据库.例如:

我的查询是:

Select col1, col2, col3
from table1
Run Code Online (Sandbox Code Playgroud)

输出是:

col1      col2     col3
 1          5        9
 2          6       10
 3          7       11
 4          8       12
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

col1      col2     col3    col4
 1          5        9     NULL
 2          6       10     NULL
 3          7       11     NULL
 4          8       12     NULL
Run Code Online (Sandbox Code Playgroud)

sql sql-server null select

3
推荐指数
1
解决办法
2517
查看次数