gpt4 book ai didi

oracle - 从表数据值的中间删除一个 varchar2 字符串

转载 作者:行者123 更新时间:2023-12-04 05:26:27 25 4
gpt4 key购买 nike

file_name中的数据生成表的字段应该是指定的编号,然后是_01、_02或_03等,然后是.pdf (例如 82617_01.pdf)。

在某个地方,程序在指定的数字和 01、02 等之间放置了一个州名,有时还有一个日期/时间戳(82617_ALABAMA_01.pdf 或 19998_MAINE_07-31-2010_11-05-59_AM.pdf 或 5485325_OREGON_0例)。

我们想开发一个 SQL 语句来查找错误的文件名并修复它们。从理论上讲,查找包含 varchar2 的文件名似乎相当简单。数据类型并将其删除,但是将语句放在一起超出了我的范围。

任何帮助或建议表示赞赏。

类似的东西:

UPDATE GENERATION

SET FILE_NAME (?)

WHERE FILE_NAME (?...LIKE '%STRING%');?

最佳答案

您可以像这样找到问题行:

select *
from Files
where length(FILE_NAME) - length(replace(FILE_NAME, '_', '')) > 1

您可以像这样修复它们:
update Files
set FILE_NAME = SUBSTR(FILE_NAME, 1, instr(FILE_NAME, '_') -1) ||
SUBSTR(FILE_NAME, instr(FILE_NAME, '_', 1, 2))
where length(FILE_NAME) - length(replace(FILE_NAME, '_', '')) > 1

SQL Fiddle Example

关于oracle - 从表数据值的中间删除一个 varchar2 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160563/

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