繁体   English   中英

将Sitecore nvarchar日期表示形式转换为SQL日期时间

[英]Converting Sitecore nvarchar date representation to SQL datetime

Sitecore将所有字段值存储为nvarchars。 我们正在寻求将其日期表示形式转换为SQL日期时间,但找不到与MSDN匹配的样式:

https://msdn.microsoft.com/en-GB/library/ms187928.aspx

日期格式为yyyymmddThhmmss ,例如:

20161007T000000
00010101T000000

使用SQL CONVERT是否可以? -还是需要一些手动解析?

Sitecore中的DateTime格式以ISO 8601格式存储。

您可以从DateField转换为.Net DateTime对象:

DateField dateField = (DateField)item.Fields["Date Created"];

// DateTime object
var dateTime = dateField.DateTime;

您还可以利用Sitecore.DateUtil类中的帮助器将值操纵为其他格式。 您可以在日期/时间最佳做法文档中阅读更多内容。

您可以使用以下SQL脚本,如下所示:

DECLARE @DateText NVARCHAR (50) = '20161007T000000'
DECLARE @ConvertText NVARCHAR (50) = SUBSTRING(@DateText, 1, 8) + ' ' + SUBSTRING(@DateText, 10, 2) + ':' + SUBSTRING(@DateText, 12, 2) + ':' + SUBSTRING(@DateText, 14, 2)

SELECT  CONVERT(DATETIME,@ConvertText)

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM