我需要从列的开头删除文件路径。我有3列的桌子,只有我想要删除的路径。从字符串中除去与其他列匹配的值
所以我有这样一个表:
有没有在SQL Server 2008中的任何方式,我可以删除它的路径列相匹配的文本?
感谢
我需要从列的开头删除文件路径。我有3列的桌子,只有我想要删除的路径。从字符串中除去与其他列匹配的值
所以我有这样一个表:
有没有在SQL Server 2008中的任何方式,我可以删除它的路径列相匹配的文本?
感谢
你可以尝试使用替代?
DECLARE @table TABLE (id INT, dataconv VARCHAR(500), [path] VARCHAR(500));
INSERT INTO @table SELECT 1, 'C:\windows test_data_1', 'C:\windows';
INSERT INTO @table SELECT 2, 'C:\windows\test.ini test_data_2', 'C:\windows\test.ini';
INSERT INTO @table SELECT 3, 'C:\word docs\doc.ini test_data_3', 'C:\word docs\doc.ini';
INSERT INTO @table SELECT 4, '/P/TestUser/dfg002/SinglePageCV''s/JoeBloggs.doc33216root;[email protected];Domain:[email protected] 1330820929 1003750078 1055597658', '/P/TestUser/dfg002/SinglePageCV''s/JoeBloggs.doc';
SELECT id, LTRIM(REPLACE(dataconv, [path], '')) FROM @table;
返回:
1 test_data_1
2 test_data_2
3 test_data_3
4 33216root;[email protected];D??omain:[email protected] 1330820929 1003750078 1055597658
试试这个
UPDATE Table x
SET x.dataconv = SUBSTRING(x.dataconv,LEN(x.path),LEN(x.dataconv))
WHERE SUBSTRING(x.dataconv,1,LEN(x.path)) == x.path
编辑您的问题,并提供采样数据和期望的结果*在问题*,优选为文本。 –
该列包含文件以及文件夹的路径。你想删除哪些?具体并显示所需的结果。 –
抱歉,它不会允许我张贴截图。基本上我想从列[Dataconv]中删除与[Path]中的文本匹配的所有文本。因此,从屏幕截图中,每行所剩下的就是测试数据,测试数据2等。如果它的文件夹结构不是我想要删除的文件。 – rory83