gpt4 book ai didi

sql - 如何解析字符串并在 SQL 中创建行(postgres)

转载 作者:行者123 更新时间:2023-11-29 14:24:43 24 4
gpt4 key购买 nike

我有一个包含开始日期、结束日期和排除项的数据库字段

available DD/MONTH/YYYY [to DD/MONTH/YYYY]?[, exclude WORD [, WORD]*]?

意味着它总是以“available DD/MONTH/YYYY”开头,可选地有一个“to DD/MONTH/YYYY”,并且可选地有一个排除子句,它是一个逗号分隔的字符串列表。想想 + 、 * 和 的正则表达式含义?

我的任务是提取数据,因此我们现在将有一个“开始日期”列、“结束日期”列和一个包含排除项的新表。它将需要使用从可用性字符串解析的值填充开始日期和结束日期列。它还需要在新的排除表中创建多个记录,每个记录对应可用性字符串中“排除”关键字后的逗号分隔值。

这是我只能在 SQL 中执行的迁移吗(postgres 8.4)?

这是针对 postgres 8.4 的。

更新:在一位同事的帮助下,我们现在有了一个 sql 脚本,它的结果是 sql,可以根据排除项的解析执行插入语句。它在 sql 中使用一堆 case 语句和字符串操作来生成结果。然后我将输出发送到一个文件并执行该文件以执行插入。我对开始日期和结束日期列执行相同的操作。

这不是 100% 的 sql,而是一个简单的 .bat 或 .sh 文件,它运行第一个 .sql 文件,然后生成的文件就是让它运行所需的一切。

感谢您的输入。

最佳答案

您可能可以通过组合 regexp functions 来做到这一点(以及 to_date() 或 to_timestamp() 函数。

但是在 pl/perl 中,在函数中修改文本可能更容易。这将使您能够访问 perl 中的完整操作函数,同时按照您的规范将工作保留在数据库中。

关于sql - 如何解析字符串并在 SQL 中创建行(postgres),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1161111/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com