从存储过程执行的结果转换DATETIME2为DateTime(Convert DateTime2 t

2019-10-29 07:27发布

如何从存储过程执行的结果转换DATETIME2为日期时间? 我有将执行这将具有其中有一些DATETIME2数据类型各列的输出的动态形成的SQL语句的过程。 我怎样才能改变这种状况DATETIME2为datetime,因为我haev这一程序作为数据源分配给水晶报表,但水晶报表转换DATETIME2到字符串,字符串不能做需要的逻辑报告。 所以我想程序给日期时间,而不是DATETIME2。

我想临时表可能会帮助我,但不知道如何着手..请帮助..

Answer 1:

假设DATETIME2字段字符串看起来像它在MS SQL的确/ ISO 8601(见DATETIME2(的Transact-SQL) ):“2007-05-02T19:58:47.1234567”,你可以拉出来的字符串需要的部分,然后用CDateCDateTime将它们转换为日期或日期时间。

If IsDate(left({Results.DT2Field}, 10))
    Then
    CDate(left({Results.DT2Field}, 10));

或日期时间

If IsDateTime(left({Results.DT2Field}, 10) + " " + mid({Results.DT2Field},12,8))
    Then
    CDateTime(left({Results.DT2Field}, 10) + " " + mid({Results.DT2Field},12,8));

以上的结果是转换后的值。



文章来源: Convert DateTime2 to DateTime from Stored Procedure Executed Result