2

我有一个 mysql 表,其中包含很多文件夹名称和目录名称,例如“C:\xx\xyz”或“C:\xx”或“C:\xx\xyz\abc”。

现在我必须按这个反斜杠的计数对这个查询进行排序。我首先需要 Dir C:\xx,因为我必须先创建此目录,然后才能在其中创建子目录。

我怎样才能做到这一点?

4

3 回答 3

1

像这样的东西:

SELECT dirName
FROM yourTable
ORDER BY (LENGTH(dirName) - LENGTH(REPLACE(dirName, '\\', '')))
于 2013-02-15T10:58:36.417 回答
0

SQLFillde 演示

ORDER BY LENGTH(folder)-LENGTH(REPLACE(folder,'\\',''))
于 2013-02-15T11:01:24.770 回答
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:\>
于 2013-02-15T11:04:20.887 回答