gpt4 book ai didi

mySQL:加载从另一个值作为子字符串的 CHAR 值

转载 作者:行者123 更新时间:2023-11-29 23:57:16 25 4
gpt4 key购买 nike

SQL新手问题:

我有一个子表“输出”,它有两个值:

CREATE TABLE Outputs ( 
sub_id char(13) NOT NULL,
output varchar(255),
output_id smallint UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (output_id)
);

输出是路径字符串,例如:

/full/path/to/output/client_xxx/client_xxx_final_output.txt

我想从文件加载数据,或者手动插入数据进行练习。

sub_id 是“client_XXX”,它是路径的一部分,并且始终会就这样吧。所以我想从路径中获取 sub_id。

我已经看到示例中使用的 SET 子句和用户参数 @var,但我迷路了尝试获取子字符串(使用正确的函数?)并获取所有对于初学者来说,正确顺序的 SQL 命令很困难。

干杯!

编辑:

我不太清楚我的最终目标是什么。

我想做这样的事情:

INSERT INTO TABLE Outputs (sub_id, output) VALUES
% SET @path_string = foobar, then substring command

很抱歉说得含糊不清,我仍然对 SQL 语法一头雾水。

最佳答案

如果它始终是倒数第二个元素:

select substring_index(substring_index(output, '/', -2), '/', 1)

如果它只是以“client”开头,您也可以使用字符串操作。上面的内容比较简单,所以我就从这里开始。

编辑:

如果数据已经在表中,那么您需要更新:

update outputs o
set sub_id = substring_index(substring_index(output, '/', -2), '/', 1);

关于mySQL:加载从另一个值作为子字符串的 CHAR 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25251079/

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