相关疑难解决方法(0)

SQL Server:将((int)year,(int)month,(int)day)转换为Datetime

可能重复:
使用T-SQL创建日期

我有一个数据表,将每年,每月和每天的值存储为整数:

year | month | day
2009 |   1   |  1 
2008 |  12   |  2
2007 |   5   |  5
Run Code Online (Sandbox Code Playgroud)

我需要将它转换为datetime值,因为我需要在操作之间的日期时间使用它.我怎么能这样做?

sql-server datetime

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

如何将日,月和年作为整数在SQL Server中创建日期

例如,如果我有:

DECLARE @Day int = 25
DECLARE @Month int  = 10 
DECLARE @Year int = 2016
Run Code Online (Sandbox Code Playgroud)

我想回来

2016-10-25
Run Code Online (Sandbox Code Playgroud)

作为日期或日期时间

sql sql-server

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

获取今天午夜的日期和时间并添加到它

是否有一个sql命令可以在午夜获取今天的日期,并且能够为它添加几分钟?

sql sql-server sql-server-2008

25
推荐指数
4
解决办法
5万
查看次数

在SQL Server 2008中创建日期

DATEFROMPARTS(year, month, day)SQL Server 2008中有类似的东西吗?我想用当前的年份和月份创建一个日期,但是我这个月的一天.这需要在一行中完成,以便在计算列公式中使用.

例如(我不确定它是否有效,因为我没有SQL Server 2012):

DATEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), 3)
Run Code Online (Sandbox Code Playgroud)

有没有办法在SQL Server 2008中执行此操作?

DATEFROMPARTS似乎仅在SQL Server 2012中可用(链接)

sql sql-server date calculated-columns sql-server-2008

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

从SQL Server 2008 R2中的年,日和小时获取日期时间

我在Microsft SQL Server 2008 R2中有一个表,它来自外部源.其中的列如下:ID, Year, DAY, HOUR & Value,其中DAY包含一年中的某一天(从1到366)并HOUR表示一天中的小时(从0到23).

我希望创建一个新的datetime列,并使用从Year, DAY & HOUR列中的数据创建的dateTime填充它.

我应该使用什么SQL函数来创建DateTime它的部分?

SQL Server 2012有DATETIMEFROMPARTS,但没有SQL Server 2008 R2的等效功能

sql datetime sql-server-2008-r2

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

将月份和年份组合转换为 SQL 中的日期

我在不同的列中有月份和年份,我想在两点(即开始日期和结束日期)之间记录。我只有月和年。我发现的一个解决方案是将日期、月份组合转换为日期。假设我有

Start month : 3 Start year : 2010
End month : 6 End year : 2013
Run Code Online (Sandbox Code Playgroud)

我想将它们转换为

 start date = 01-03-2010 

 End date = 31-06-2013
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?

sql sql-server sql-server-2008

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

日期时间在不同的计算机上表现得很奇怪

我正在尝试制作一个程序,它会在SQL Server上进行一些查询,由于某种原因代码有奇怪的行为,因为它会在我的两台计算机上创建不同的日期值.

这是代码行为怪异的一部分.

Query += " dbo.MensajesProcesados.SentDateTime BETWEEN CONVERT(VARCHAR, '" + FechaInicio.Value.ToUniversalTime().ToShortDateString() + "', 103) AND CONVERT(VARCHAR, '" + FechaFin.Value.ToUniversalTime().ToShortDateString() + "', 103)";
Run Code Online (Sandbox Code Playgroud)

在第一台电脑(工作)给我:

BETWEEN CONVERT(VARCHAR, '5/18/2015', 103) AND CONVERT(VARCHAR, '5/19/2015', 103)
Run Code Online (Sandbox Code Playgroud)

和第二台不工作的电脑:

BETWEEN CONVERT(VARCHAR, '17/05/2015',103) AND CONVERT(VARCHAR, '19/05/2015',103)
Run Code Online (Sandbox Code Playgroud)

这个不起作用,将输出以下错误

将varchar数据类型转换为日期时间数据类型会导致超出范围的值.

拜托,任何帮助都会很棒!

c# sql sql-server

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

将三个int参数转换为一个日期

考虑三个参数:

@Y=2014
@M=11
@D=24
Run Code Online (Sandbox Code Playgroud)

我想在SQL Server中有一个函数,它获取三个数字并返回一个日期作为结果.

sql sql-server function sql-server-2008

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