相关疑难解决方法(0)

如何删除日期时间值(SQL Server)的时间部分?

这是我使用的:

SELECT CAST(FLOOR(CAST(getdate() as FLOAT)) as DATETIME)
Run Code Online (Sandbox Code Playgroud)

我想可能会有更好更优雅的方式.

要求:

  • 它必须尽可能快(铸造越少越好).
  • 最终结果必须是datetime类型,而不是字符串.

sql-server datetime date-conversion

81
推荐指数
4
解决办法
6万
查看次数

将日期和时间字段组合到DateTime,SQL Server 2008

好的 - 我问过几个人,必须有一个简单的方法来做到这一点....

declare @Date date
declare @Time time 
declare @datetime datetime

select @Date = convert(Date,GetDate()) 
select @Time = convert(Time,GetDate())

select @Date, @Time, @Date + @Time (+ operator fails!)
Run Code Online (Sandbox Code Playgroud)

我真的必须:1)转换为字符串,然后转换为datetime字段?2)使用DateAdd和DatePart先添加小时,然后是分钟,然后是秒......

sql sql-server-2008

51
推荐指数
3
解决办法
8万
查看次数

将日期和时间组合(连接)到日期时间

使用SQL Server 2008,此查询非常有用:

select CAST(CollectionDate as DATE), CAST(CollectionTime as TIME)
from field
Run Code Online (Sandbox Code Playgroud)

给我两个这样的列:

2013-01-25  18:53:00.0000000
2013-01-25  18:53:00.0000000
2013-01-25  18:53:00.0000000
2013-01-25  18:53:00.0000000
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用加号将它们组合成单个日期时间,如下所示:

select CAST(CollectionDate as DATE) + CAST(CollectionTime as TIME)
from field
Run Code Online (Sandbox Code Playgroud)

我查看了大约十个网站,包括这个网站上的答案(就像这个),他们似乎都同意加号应该有效,但我收到错误:

消息8117,级别16,状态1,行1
操作数数据类型日期对于添加运算符无效.

所有字段都是非零且非空.我也尝试过CONVERT函数并尝试将这些结果转换为varchars,同样的问题.这不会像我做的那么难.

有人可以告诉我为什么这不起作用?谢谢你的帮助.

sql t-sql sql-server datetime sql-server-2008

24
推荐指数
4
解决办法
11万
查看次数

将来自一个字段的日期与来自另一个字段的时间相结合 - SSIS

我如何在SSIS中将这两个字段组合成一个datetime类型的列?两个源表都在datetime中,因此是目标表.

Dates
2009-03-12 00:00:00.000 
2009-03-26 00:00:00.000 
2009-03-26 00:00:00.000 

 Times
1899-12-30 12:30:00.000 
1899-12-30 10:00:00.000 
1899-12-30 10:00:00.000 
Run Code Online (Sandbox Code Playgroud)

sql-server ssis

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

在SQL Server中执行日期/时间减法

我在表中有四个字段:

date entered, time entered, date completed, time completed
Run Code Online (Sandbox Code Playgroud)

我想知道日期/时间ENTERED和日期/时间COMPLETED之间的区别

例如

date entered = 1/1/2001
time entered = 10:00
time completed = 1/2/2001
time completed = 11:00
Run Code Online (Sandbox Code Playgroud)

差异是25小时.

如何使用select语句执行此计算?

我刚试过这个:

DATEDIFF(hh,dateadd(hh,[Time Entered],[Date Entered]),dateadd(hh,[Time Completed],[Date Completed]) ) AS [Hours]
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

Msg 8116, Level 16, State 1, Line 2
Argument data type time is invalid for argument 2 of dateadd function.
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

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

在LINQ中使用DateTime.Add(TimeSpan)

我必须像下面那样运行一个查询.它实际上更复杂,但这是重要的部分:

var results =
    from b in _context.Bookings
    where b.ScheduleDate.Add(b.StartTime) >= DateTime.UtcNow
    select b;
Run Code Online (Sandbox Code Playgroud)

但它给出了以下错误:

LINQ to Entities无法识别方法'System.DateTime.Add方法(System.TimeSpan)',并且此方法无法转换为商店表达式.

我该如何解决这个问题?

提前致谢.

c# linq linq-to-entities

3
推荐指数
2
解决办法
4424
查看次数

如何将两列组合在一起以在select语句中创建新列?

希望你能帮忙.我有一个Date列和一个时间列,我希望能够在select语句中将它们组合在一起,因此[Date and Time]只有一列.我尝试的所有东西似乎都将它们加在一起而不是组合/附加.

干杯,:)

sql t-sql sql-server

0
推荐指数
1
解决办法
896
查看次数

使用SQL查询连接日期和时间变量

我的SQL表中有两列.一个是DateTime,另一个是时间它们是格式, DateTime - 2012-04-05 16:58:56.000时间 -21:30:00.00000

我需要编写一个Query,它将返回一个Column作为 - 2012-04-05 21:30:00.000

你能帮助我吗?

sql sql-server datetime sql-server-2008

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