我与第三方数据库,该数据库(无论何种原因)内部存储格式的日期的工作yyyymm
如201212
用于Dec 2012
作为INT
。
有没有简单的方法可以将其转换为SQL ServerDateTime
类型?
我尝试将上面的内容手动转换为长度为6的字符序列,并将其与“ 01”连接起来以获取给定月份的开始,如下所示:
(CONVERT(char(6), Period) + '01')`
然后将其包装在datetime
转换中:
CONVERT(datetime, (CONVERT(char(6), Period) + '01'))
但这似乎抛出了;
从字符串转换日期和/或时间时转换失败
谁能告诉我我在做什么错?
谢谢!:)
您需要使用正确的参数。这是msdn图表http://msdn.microsoft.com/en-
us/library/ms187928.aspx
就您的情况而言,我认为您需要附加‘01’并使用它
declare @val VARCHAR(8)
SET @val = '201212'
set @val = @val + '01'
print CONVERT(DATETIME, @val, 12)
ISO格式为12,格式为yymmdd或yyyymmdd
问题内容: 在SQL Server 2005中,为什么这样做: 展示: 1900年1月1日上午12:00 我会以为应该的吗? 问题答案: 空字符串将强制转换为,之后将强制转换为时代日期。 与不同,区分和一个空字符串。
问题内容: 我正在尝试将日期从格式转换为SQL Server中的格式。 我正在使用以下命令 我尝试在msdn上查找受支持的样式,但没有找到完全匹配的样式。 帮助将不胜感激。 问题答案:
主要内容:GETDATE (),DATEPART(),DATEADD(),DATEDIFF(),CONVERT ()在 T-SQL 中,日期函数用于生成日期和时间的查询。 GETDATE () GETDATE()返回当前日期和时间。 GETDATE ()函数的语法 — 示例 该查询将返回 T-SQL 中的当前日期。 DATEPART() 它给出了日期或时间的一部分。 DATEPART()函数的语法 - 示例 该查询在 T-SQL 中返回当月的一部分。 DATEADD() 它通过减去或加上日期和时
问题内容: 我尝试将其转换为java.sql.Timestamp后插入,并使用以下代码段: 但是,这是给我的 有没有办法在没有毫秒的情况下获得输出? 问题答案: 您可以使用来减少毫秒数: 输出:
问题内容: 我的电话号码是20080331。 我需要将其转换/转换为日期时间,以便可以在数据库中进行日期比较。我将如何转换此数字。使用CONVERT(DATETIME,Value)似乎不起作用。 问题答案:
问题内容: 我有一张关于不同资产的开/关事件的表格。我需要在不使用游标的情况下获取开始和停止事件时间的列表。 来源: 所需结果: 问题答案: 这是解决方案,带有概念验证供所有人验证。 我注意到的事件被标记为新事件。我解决了这个问题,但是这也导致我编写了一个解决方案,该解决方案允许发生一个已经开始但尚未结束的事件,因此我加入了一个开放式事件。 另外,我的解决方案在重叠的时期内有效。 讲解 我们将数据