可能重复:
使用T-SQL创建日期
我有一个数据表,将每年,每月和每天的值存储为整数:
year | month | day
2009 | 1 | 1
2008 | 12 | 2
2007 | 5 | 5
Run Code Online (Sandbox Code Playgroud)
我需要将它转换为datetime值,因为我需要在操作之间的日期时间使用它.我怎么能这样做?
例如,如果我有:
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命令可以在午夜获取今天的日期,并且能够为它添加几分钟?
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中可用(链接)
我在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的等效功能
我在不同的列中有月份和年份,我想在两点(即开始日期和结束日期)之间记录。我只有月和年。我发现的一个解决方案是将日期、月份组合转换为日期。假设我有
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 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数据类型转换为日期时间数据类型会导致超出范围的值.
拜托,任何帮助都会很棒!
考虑三个参数:
@Y=2014
@M=11
@D=24
Run Code Online (Sandbox Code Playgroud)
我想在SQL Server中有一个函数,它获取三个数字并返回一个日期作为结果.