Convert DateTime2 to DateTime from Stored Procedure Executed Result

岁酱吖の 提交于 2019-12-12 02:56:57

问题


How can i Convert DateTime2 to DateTime from Stored Procedure Executed Result ? I have a procedure which will execute a dynamically formed sql statement which will have an output of various columns in which there are some datetime2 data types. How can I change that datetime2 to datetime because I haev to assign this procedure as data source to a crystal report but crystal report converts datetime2 to string and string can't do required logic in report. So I want the procedure to give datetime rather than datetime2.

I guess temp tables might help me but not sure how to proceed.. please help..


回答1:


Assuming the DateTime2 field string looks like it does in MS SQL/ISO 8601 (see datetime2 (Transact-SQL)): "2007-05-02T19:58:47.1234567", you can pull out the needed parts of the string and then use CDate or CDateTime to convert them to dates or datetimes.

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

or for DateTime

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

The results of the above are your converted values.



来源:https://stackoverflow.com/questions/15555732/convert-datetime2-to-datetime-from-stored-procedure-executed-result

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!