当前位置: 首页 > 面试题库 >

如何使用ODBC函数将datetime转换为日期?

东郭海阳
2023-03-14
问题内容

问题:

我需要 使用ODBC转义序列 仅获取DATE(=日期,无时间)。

然而

SELECT 
     {fn CONVERT(SomeTable.Col_With_DateTime_Value, SQL_DATE)}
FROM SomeTable

确实将列作为datetime值(date WITH time)返回。

是否有任何 ODBC功能 我可以用得到的 日期

注意:
这不是重复的问题。
我知道可以使用 -ODBC转换功能,例如

CONVERT(char(8),  getdate(), 112) AS v112_ISO  
CONVERT(char(10), getdate(), 104) AS v104_XML

但出于兼容性原因,我确实需要 ODBC 函数。


问题答案:

您可以使用此:

select {fn convert({fn timestampdiff(SQL_TSI_DAY, 0, DatetimeCol)}, SQL_DATE)}
from SomeTable

在我可以测试的环境中运行(SQL Server 2000-2012)。

更新:

我认为这是另一种比使用convert更快的方法

select {fn timestampadd(SQL_TSI_DAY, {fn timestampdiff(SQL_TSI_DAY, 0, DatetimeCol)}, 0)} 
from SomeTable


 类似资料:
  • 问题内容: 在mysql中,我有一个类型为datetime的time_entered字段(示例数据:2012-06-20 16:00:47)。我还有一个方法getTimeEntered(),将值作为String返回。我想使用来自GWT的DateTimeFormat以这种格式2012-06-20显示日期。 这是我的代码: 问题是,format方法不接受参数作为String。因此,如果只有一种方法可以

  • 问题内容: 我需要将变量中的值转换为格式化为格式的变量(无时间部分)。 我怎么做? 问题答案: 使用Microsoft Sql Server:

  • 问题内容: 我试图将datetime2转换为datetime,以便仅使用SQL或SSIS在不同源之间创建标准。以以下SQL查询为例: 我收到以下错误:“不允许从数据类型datetime2到时间戳的明确转换。” 此外,我确实使用简单的转换将datetime2转换为date。 使用SQL Server 2008或SSIS将datetime2转换为datetime的正确方法是什么? 吉利比 问题答案:

  • 问题内容: 我有以下日期: 我需要知道这是date在 datetime(2009,04,01) 之前还是之后,而且我似乎找不到找到将字符串转换为可以将其与 datetime(2009,04,01) 比较的 方法。 ) 以一种有意义的方式。 问题答案: 由于该字符串采用ISO格式,因此可以直接将其与您提到的ISO格式版本进行有意义的比较: 如您所见,虽然您无法将字符串与日期时间对象进行比较,但只要字

  • 问题内容: 我有一个WebService返回DateTime字段。 我得到一个结果,但是 我想我怎么能做到这一点。 通过设置Header Content-Type:application / json; charset = utf-8; 我得到了类似的结果。 问题答案: 您可以更改您的WS以返回带有DateTime值的long。要返回的值是自Unix纪元(01/01/1970)以来的毫秒数。这可以

  • 问题内容: 我正在通过使用语法将字段转换为时间。 约会时间 当前输出:时间 我只需要而不是毫秒或0000 如何过滤或将其转换为精确格式。 问题答案: 不以其 显示格式 存储在SQL Server中。 因此,从用户角度来看,您可以说它 没有格式。 当然,由于它确实具有 存储格式 ,因此并不完全准确,但是作为普通用户,您不能真正使用它。 这是所有的日期和时间数据类型真: ,,,,和。 如果您需要格式,