2013-02-15 82 views
2

我有一个包含大量folderName和Directory名称的mysql表,例如“C:\ xx \ xyz”或“C:\ xx”或“C:\ xx \ xyz \ ABC”。MySQL按特定字母排序

现在我必须通过这个Backslashes的数量来排序这个查询。我首先需要Dir C:\ xx,因为我必须先创建此目录,然后才能在其中创建子目录。

我该怎么做?

回答

1

事情是这样的:

SELECT dirName 
FROM yourTable 
ORDER BY (LENGTH(dirName) - LENGTH(REPLACE(dirName, '\\', ''))) 
+0

谢谢你,它的工作非常好! :) – bbholzbb 2013-02-15 11:23:26

0

它通常没有必要为了创建目录:

C:\>mkdir test 

C:\>dir test 
El volumen de la unidad C es Sistema 
El número de serie del volumen es: 6882-2759 

Directorio de C:\test 

15/02/2013 12:01 <DIR>   . 
15/02/2013 12:01 <DIR>   .. 
       0 archivos    0 bytes 
       2 dirs 115.358.355.456 bytes libres 

C:\>mkdir test\foo\bar\one\two\three 

C:\>dir test 
El volumen de la unidad C es Sistema 
El número de serie del volumen es: 6882-2759 

Directorio de C:\test 

15/02/2013 12:02 <DIR>   . 
15/02/2013 12:02 <DIR>   .. 
15/02/2013 12:02 <DIR>   foo 
       0 archivos    0 bytes 
       3 dirs 115.358.355.456 bytes libres 

C:\> 
+0

Ehm是的,这也是可能的,但它不适用于文件,我想。我已经用上面的解决方案解决了它。 – bbholzbb 2013-02-15 11:25:57

+0

我不认为这是一个问题,因为创建文件的方法通常与创建目录的方法不同。但是,当然只有你知道你的脚本使用什么。很高兴你修好了它。 – 2013-02-15 12:07:09