如何更改xml中所有日期的格式?

2024-01-17

我在 SQL 的单元格中有一个 xml,例如:

Table:

    <?xml version="1.0" encoding="utf-16"?>
    <Document xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <Page W="2480" H="3516">
            <Word L="1871" R="2031" T="221" B="252" Text="INVOICE" Id="25509747671106" />
            <Word L="1988" R="2046" T="2232" B="2279" Text="tf.'l" Id="25886807122412" />
            <Word L="1872" R="1990" T="324" B="351" Text="26603333345"Id="24493329746300" />
            <Word L="1871" R="2015" T="373" B="401" Text="08-02-17" Id="25109308586898" />
            <Word L="1873" R="2007" T="422" B="448" Text="S-44404" Id="24914704754685" />
            <Word L="1874" R="1887" T="468" B="496" Text="1" Id="22024234663427" />
            <Word L="1068" R="1148" T="1278" B="1309" Text="DHL" Id="8152496756181" />
            <Word L="1692" R="1848" T="1279" B="1310" Text="08-02-17" Id="21119731019927" />
            <Word L="2096" R="2251" T="1278" B="1310" Text="10-01-17" Id="31333127836454" />
            <Word L="112" R="243" T="1352" B="1358" Text="_" Id="365589546232" />
            <Word L="252" R="411" T="1322" B="1350" Text="QUANTITY" Id="1050334834310" />
            <Word L="1415" R="1913" T="745" B="787" Text="______ShlpTo" Id="22635743273663" />
     </Page>
   </Document>

我需要更新 [FRData] 并更改日期格式mm-dd-yy格式化年-月-日在所有 xml 中。

我编写了一个正则表达式来验证所需的日期格式:

^(0?[1-9]|1[012])[\-](0?[1-9]|[12][0-9]|3[01])[\-]\d{2}$

我知道如何更改日期格式mm-dd-yy to 年-月-日:

select left(convert(varchar, cast('08-02-17' as datetime), 120),10)

但我不知道如何更改整个 xml 中的日期


请尝试这个。

declare @I int
declare @X nvarchar(100)
declare @D date

select @I = max(FRData.value('count(/Document/Page//Word)', 'int'))
from #t

while @I > 0
begin

    set @X = (select top 1 FRData.value('(/Document/Page//Word/@Text)[sql:variable("@I")][1]', 'nvarchar(100)')
              from #t)

    if isdate(@X) = 1
    begin
        set @D = convert(date, @X)

        update #t
        set FRData.modify('replace value of ((/Document/Page//Word/@Text)[sql:variable("@I")])[1]
                           with sql:variable("@D")')
    end

    set @I = @I - 1
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改xml中所有日期的格式? 的相关文章

  • 我是否需要 SQL Server 数据库项目中链接服务器的数据库引用?

    在我的数据库项目中 我添加了对链接服务器的引用 当我在视图中使用此链接服务器并尝试构建数据库项目时 SSDT 报告错误 因为它无法理解对链接服务器上引用的任何架构的引用 LinkedServer DB1 dbo Table1 上面的代码会返
  • Knex 中的表的别名

    我有一个 SQL 查询两次引用同一个表 并且我需要将该表别名为两个单独的别名 我不太清楚如何用 Knex 来编写它 有一个 单词 表和一个 用户 表 Words 表有两个外键 author id 和 winner id 引用 Users 表
  • 使用 XPath 忽略/跳过已知或所有从属标签

    我使用 XPath 和 Hpple libxml2 来解析 iOS iPhone 操作系统中的 HTML 我现在想忽略某个标签 例如粗体标签 b 解析文档时 例如从代码来看 div foo b bar b div 应选择字符串 foo 和
  • 在表中添加新列,其值取决于同一表中另一列的值

    我是 Mysql 的新手 我想在表中添加一列 其值取决于同一个表中的另一个列值 例如我有company table如下 fldId companyName date 1 adeco 2012 01 12 2 mic 2001 03 09 3
  • R strsplit之前(和之后)保留两个分隔符

    我有一个如下所示的字符串 x lt 01 01 121210 01 0001 我想将其分成一个向量 以便得到以下内容 1 0 1 01 1 2 1 2 1 0 01 0 0 0 1 可以是 或 括号之间的位数可以是 2 个或更多 我一直试图
  • MySQL表按时间戳分区

    我已经对表进行了分区 由于内存不足错误 表太大 我已将其分区在时间戳列上 如下所示 CREATE TABLE test fname VARCHAR 50 NOT NULL lname VARCHAR 50 NOT NULL dob time
  • 在 Java 中使用正则表达式提取值

    我有几个粗略形式的字符串 some text some number some more text 我想使用 Java 正则表达式类提取 some number 中的文本 我大致知道我想使用什么正则表达式 尽管欢迎所有建议 我真正感兴趣的是
  • 将多个子查询作为值插入

    假设我要插入一个有很多 fk 的表 只是为了在下面解释一下错误的说法 insert into mytable values somevalue somevalue select id from othertable1 where condi
  • 哪个正则表达式能够在 C# 公式中选择 Excel 列名称?

    我需要在 C 中实现 Excel 公式自动填充 假设这个公式位于 B100 SUM B 99 B99 我想让这个公式在 C100 时有所不同 SUM B 99 C99 该公式仅是一个示例 一些真实的例子是 SUM B 0 B 0 SUM 1
  • 带有 = 和 a 的正则表达式;

    我正在尝试使用正则表达式来查找以等号开头的所有子字符串 并以分号 之间可以有任意数量的字符 应该是这样的 由于某种原因 equals 没有注册 是否有某种转义字符可以使正则表达式注意到我的等号 我正在用Java工作 如果这与这个问题有任何关
  • 如何为多用户应用程序实现简单的锁定机制?

    我真的不想在这里重新发明井 所以我寻求在多用户数据库应用程序中实现简单 行 锁定机制的想法 假设我有一个名为Products其中当然有一个ID PK 还有一个rowversion列 到目前为止尚未使用 我只想允许one用户能够编辑特定行 当
  • 使用变量获取 SQL xml 属性值

    我有一个 SQL 函数 它接受一个名为attribute 这是我想要从中获取值的 xml 属性 xmlPath是完整的 XML 字符串 我的 xml 看起来像这样
  • 与 RTL 语言一起使用时字符串替换函数调用的顺序

    打电话时字符串替换 https developer mozilla org en US docs Web JavaScript Reference Global Objects String replace with a 替换功能我们能够检
  • 将具有重复值的数据插入 Postgresql

    我需要在 postgresql 中插入数据集 INSERT INTO table subject topics exams name of subject section topic subtopic VALUES Algebra Math
  • 安卓。 onEditorAction 从未被调用

    我正在尝试捕捉从屏幕上移除键盘的事件 并且我正在使用OnEditorActionListener班级 然而 其onEditorAction方法永远不会被调用 这是我的 XML 格式的 EditText
  • 正则表达式匹配 2 个或更多单词

    我有一个正则表达式尝试匹配 2 个或更多单词 但它没有按预期工作 我究竟做错了什么 string i dont know do you know preg match a z b 2 string match echo pre print
  • SELECT * FROM (VALUES (x,y)) AS TableLiteral(Col1, Col2) 的名称

    以下是有效的 SQL 语法 SELECT FROM VALUES p q x y AS TableLiteral Col1 Col2 并返回表 Col1 Col2 1 p q 2 x y 此语法可以进一步用于 CTE 等 这个有名字吗 我通
  • 存储过程和视图有什么区别?

    我对以下几点感到困惑 存储过程和视图有什么区别 在 SQL Server 中 什么时候应该使用存储过程 什么时候应该使用视图 视图是否允许创建可以传递参数的动态查询 哪一个最快 基于什么原因其中一个比另一个更快 视图或存储过程是否永久分配内
  • 如何使用自定义转换器访问 jOOQ 生成的例程字段作为值?

    我在访问生成例程的字段时遇到问题PL pgSQL 用户定义函数 返回JSON 数据类型结果 已经提到this https stackoverflow com q 62535195 6805866问题 这是我的结果get all orders
  • 如何在动态创建的reportviewer报表的每一页上显示标题

    我动态创建报告 即我无法打开设计器 RDLC 并修复它 我创建一个表并通过数据集填充它 获取 XML 文件并将其导出为 PDF 文件 但即使我写 string deviceInfo

随机推荐