从XML在SQL Server中解析错误的日期格式

沙尚克·阿瓦西(Shashank Awasthy)

我有一个XML数据,其中Date格式更改为yyyy-dd-MM(T)HH:mm:ss有时又更改yyyy-MM-dd(T)HH:mm:ss

在解析XML时,我不确定如何处理这种情况,因为我的SQL Server默认语言是Us_english

如果我在SQL SERVER中使用BEGIN TRY AND CATCH语句,并且在分析数据时发生错误,则PROC的执行将停止。

代码样例

BEGIN TRY
Select Cast(Replace(C.H.value('SameDateColumn[1]','nvarchar(20)'),'T',' ')   as Datetime) as 'DateHistory'
from @XMLIN.nodes('//HeaderT') C(H);
set language Us_english
END TRY
BEGIN CATCH
set language british
END CATCH

有什么办法,所以如果发生异常,我可以将默认语言设置为英国语,并在SQL SERVER中的END CATCH语句之后执行代码。

我也尝试过使用ISDATE()方法,但是每次它给我1作为输出时,无论us_english格式还是british

Shnugo

正如我在评论中指出的那样,我认为存在某种误解...

我认为,不同的格式不是来自XML中的错误数据,而是由于您尝试在不同系统中转换内容而导致的。

您读取的日期是这样的:

Select Cast(Replace(C.H.value('SameDateColumn[1]','nvarchar(20)'),'T',' ')   as Datetime) as 'DateHistory'
from @XMLIN.nodes('//HeaderT') C(H);

这意味着:您阅读的日期将XML作为文本(nvarchar(20)现在更换“T”,然后你施放此字符串到,DateTime这最后一步是根据你的系统的培养和使用的语言甚至是依赖。从用户的登录名!。

如果一切顺利的正确途径,任何日期的XML应该是ISO8601,并期待这样的:

2016-04-21T15:21:00

尝试像这样读取日期:

Select C.H.value('SameDateColumn[1]','datetime') as 'DateHistory'
from @XMLIN.nodes('//HeaderT') C(H);

如果XML创建正确,则应该可以正常工作,根本不需要转换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从XML在SQL Server中解析错误的日期格式

来自分类Dev

SQL Server中的列日期格式错误

来自分类Dev

缺少属性引号的SQL Server解析(格式错误)XML

来自分类Dev

SQL Server中的日期时间在Ruby中解析错误

来自分类Dev

在SQL Server中解析日期的SqlDateTime溢出错误

来自分类Dev

在 SQL Server 中解析 XML,以表格式返回

来自分类Dev

SQL Server中的XMl解析

来自分类Dev

SQL Server xml 路径中的 XML 格式

来自分类Dev

SQL Server,DATEDIFF错误,日期字段的格式?

来自分类Dev

PHP和SQL中的日期格式错误

来自分类Dev

SQL Server中的日期时间格式

来自分类Dev

SQL Server 2008中的日期格式

来自分类Dev

通过XML解析SQL中的字符错误

来自分类Dev

在SQL Server中解析多层XML

来自分类Dev

在 sql server 中解析 xml 有困难

来自分类Dev

XML解析错误:格式错误

来自分类Dev

通过 SQL Server 解析 XML

来自分类Dev

在Pl / Sql中以xml格式解析大文本

来自分类Dev

CTE查询SQL Server中的解析错误

来自分类Dev

与SQL Server中的bigint的小时格式中的日期差

来自分类Dev

错误的日期格式Oracle SQL

来自分类Dev

MS SQL Server中的Oracle RR日期格式

来自分类Dev

如何从SQL Server中的YYYYMMDD格式的DateNow()中提取日期

来自分类Dev

在sql server 2012中找不到日期样式格式

来自分类Dev

如何在SQL Server中从日期返回月份的短格式?

来自分类Dev

SQL Server中的自定义日期格式

来自分类Dev

日期格式问题SQL Server

来自分类Dev

转换SQL Server日期格式

来自分类Dev

转换SQL Server日期格式