2012-04-17 75 views
1

我正在使用perforce。一些有用的stackoverflow社区成员帮助我找到了设置ODBC数据源来访问我们的perforce数据的p4reports程序。我创建了一个查询,返回我需要的信息... 差不多Perforce SQL返回文件名没有路径追加到开始

下面是该查询:

SELECT a.file, a.time, a.action, a.revision, a.change, b.description 
FROM files a, changes b 
WHERE a.change = b.change AND ((b.p4options='longdesc')); 

的问题是,a.file列返回与整个路径的文件名,如:

//depot/folder_1/folder_2/.../file_name.txt 

我想这列只包含文件名,像这样:

file_name.txt 

有谁知道一个SQL查询可以做到这一点?现在,文件在文件夹结构中的嵌套程度如何?

这里是perforce SQL报告函数的链接。一些基本的字符串函数,但我很难把我如何总能用这些函数返回正确的文本。

http://www.perforce.com/perforce/doc.current/manuals/p4report/ab_functions.html#1045728

在MySQL中我会做这样的事情:

SELECT right(a.file,locate("/",reverse(a.file))-1), a.time, a.action, a.revision, a.change, b.description 
FROM files a, changes b 
WHERE a.change = b.change AND ((b.p4options='longdesc')); 

而且它的工作,但没有reverse功能Perforce的SQL据我可以告诉。任何帮助将不胜感激!

谢谢!

+2

P4Report及其数据库符合SQL-92。 SQL-92没有任何字符串反转功能。除非您可以在报告/输出图层中进行转换,否则p4-randall的建议可能是您在这种情况下应该采用的方式。 – cairnz 2012-04-17 20:55:44

回答

3

您可能想看看P4toDB,它会将Perforce数据复制到常规数据库中。这样你就可以运行更高级的SQL查询甚至使用报表引擎。

http://kb.perforce.com/article/1172/p4todb-readme

+0

对Perforce元数据的更改复制到SQL数据库的速度有多快?即如果我提交更改列表,我可以在多久后查询数据库以了解更改内容? – Dennis 2012-04-18 15:14:11

+0

是啊好问题,我还没有尝试过,但这里提供的链接有很多很好的信息,请查看! – 2012-04-18 18:41:41

+0

我确实先读过这篇文章;没有明确的答案,所以我问了上面的问题。 – Dennis 2012-04-19 11:41:02

相关问题