2016-07-25 105 views
-2

我在单个字段中保存完整的文件路径,现在我想拆分它。 bellow是我当前的数据库文件路径。 当前域的名称是“video_thumb”将mysql数据库字段拆分为2部分

../files/thumbs/2014-Oct/1413648778-sm.jpg 

现在我想将它拆分成2个字段 文件夹路径在一个领域 我想拆以下为“thumb_path”

../files/thumbs/2014-Oct/ 

文件命名在另一个领域 “FILE_NAME”

1413648778-sm.jpg 

任何一个能帮助我..

+0

你说'thumb_path'和'file_name'但在你的代码,这没有引用。 –

+0

目前它保存在一个字段“video_thumb”我想分成2个字段。 “thumb_path”中的路径已归档并且文件名称为“file_name”字段。 我将创建一个名字为thumb_path它2个的新领域,而file_name – Arman

回答

0
SET @STR = '../files/thumbs/2014-Oct/1413648778-sm.jpg'; 

SELECT @STR, 
      REVERSE(@STR) AS REVERSESTR, 
      REVERSE(SUBSTRING(REVERSE(@STR),1,INSTR(REVERSE(@STR),'/') - 1)) FILENAME, 
      REPLACE 
      (@STR, 
      REVERSE(SUBSTRING(REVERSE(@STR),1,INSTR(REVERSE(@STR),'/') -1)) 
      ,'' 
      ) AS THUMB; 

我已经离开了所有的步骤来说明解决方案

+0

上传** 2014年十月日期**和 文件名** 1413648778,sm.jpg ** 是独一无二的,5000条记录数据库.. 我想分裂它。 和我不是编码器... – Arman

0

尝试用这样的查询:

select '/files/thumbs/2014-Oct/1413648778-sm.jpg' path_and_filename, 
     replace('/files/thumbs/2014-Oct/1413648778-sm.jpg', substring_index('/files/thumbs/2014-Oct/1413648778-sm.jpg', '/', -1), '') path, 
     substring_index('/files/thumbs/2014-Oct/1413648778-sm.jpg', '/', -1) filename 
from myTable 

您将有3个字段:

  1. path_and_filename:原创数据
  2. 路径:仅路径字符串
  3. 文件名:只有文件名字符串

XAV