我的数据库中有.NET TimeSpan字符串。我想将它们解析为SQL查询中的时间。
在下面的示例中,我正在尝试转换值为3天的时间戳记字符串。
SELECT PARSE('3.00:00:00.0000000' AS time)
由于以下错误而失败:
使用文化区域``将字符串值'3.00:00:00.0000000'转换为数据类型时间时出错。
使用文化完全没有帮助。
根据documentation,我应该能够这样做。
time TimeSpan DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
目前我没有在线找到任何提示。
一种方法是PARSENAME
。下面的示例忽略Timespan字符串中的days部分,仅返回时间部分。
SELECT PARSE(PARSENAME('3.00:00:00.0000000',2)+'.'+PARSENAME('3.00:00:00.0000000',1) AS time)