相关疑难解决方法(0)

如何仅从SQL Server DateTime数据类型返回日期

SELECT GETDATE()
Run Code Online (Sandbox Code Playgroud)

返回: 2008-09-22 15:24:13.790

我希望那个日期部分没有时间部分: 2008-09-22 00:00:00.000

我怎么能得到它?

sql t-sql sql-server datetime date

1692
推荐指数
32
解决办法
266万
查看次数

如何删除日期时间值(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万
查看次数

SQL Server中最有效的方法是从日期+时间获取日期?

在MS SQL 2000和2005中,给定日期时间,例如'2008-09-25 12:34:56',获得仅包含'2008-09-25'的日期时间的最有效方法是什么?

这里重复一遍.

sql t-sql sql-server

73
推荐指数
4
解决办法
7万
查看次数

只有没有时间的MS SQL日期

大家好,

我在很长一段时间内遇到了一些困惑,基本上使用T-SQL来构建DateTime SQL类型.基本上,我想将DateTime值设为2008-12-1 14:30:12并将其设为2008-12-1 00:00:00.我们为报告运行的很多查询在WHERE子句中使用了一个日期值,但是我有一天的开始和结束日期值并且使用BETWEEN,或者我找到了一些其他方法.

目前我正在使用以下内容: WHERE CAST(CONVERT(VARCHAR, [tstamp], 102) AS DATETIME) = @dateParam

然而,这看起来有点笨重.我希望会有更简单的东西 CAST([tstamp] AS DATE)

有些地方在网上推荐使用DATEPART()函数,但最后我得到了这样的结果:


WHERE DATEPART(year, [tstamp]) = DATEPART(year, @dateParam)
AND DATEPART(month, [tstamp]) = DATEPART(month, @dateParam)
AND DATEPART(day, [tstamp]) = DATEPART(day, @dateParam)

也许我过分关注小事,如果是的话请告诉我.我只是想确保我写的东西尽可能高效.我想消除任何薄弱环节.

有什么建议?

谢谢,
C

感谢大家的好评.很多有用的信息.我将改变我们的功能以消除操作员左侧的功能.虽然我们的大多数日期列都不使用索引,但它可能仍然是一种更好的做法.

sql t-sql sql-server

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

在DateTime中删除时间

我有一个问题,我的表存储日期为

2009-01-10 10:00:00.000
Run Code Online (Sandbox Code Playgroud)

我有另一个表存储日期为

2009-01-10 12:00:00.000
Run Code Online (Sandbox Code Playgroud)

我知道它们不一样但是日期是,在SQL中是否可以轻松地缩短时间并保留比较日期?谢谢.

mysql sql t-sql datetime

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

在sql查询的where子句中检查当前日期的最佳方法

我正在尝试找出最有效(最佳性能)的方法来检查当前日期的日期字段.目前我们正在使用:

SELECT     COUNT(Job) AS Jobs
FROM         dbo.Job
WHERE     (Received BETWEEN DATEADD(d, DATEDIFF(d, 0, GETDATE()), 0)
                        AND DATEADD(d, DATEDIFF(d, 0, GETDATE()), 1))
Run Code Online (Sandbox Code Playgroud)

sql t-sql performance stored-procedures

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

在mssql 2005中保存DateTime而不需要小时,分钟和秒

我想在sql2005中保存我的日期作为日期(没有小时分钟和秒).我想这样做是因为如果填写小时,分钟和秒,则between函数并不总是正确的.

但是datetime和smalldatetime都不允许这样做,在2008年你有Date列可以做到这一点.

我也发现这个问题可以帮助我,但我不喜欢执行查询的转换:如何删除日期时间值(SQL Server)的时间部分?

sql sql-server datetime

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