2016-07-25 104 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