2017-04-04 158 views
-2

在列我得到這個字符串:mysql trim字符串或子字符串字符串?如何?

ALT 「; S:24:」 AAAAAAAA 「; S:5:」 標題 「S:126:」 XXXXXXXX XXXXXXXX XXXXXXX XXXXXXX。 。
(XXXXXX XXXXXXXXX)

我想修剪此字符串 」ALT「 和 」標題「 子已經得到了兩個分離式列ALT和標題

ALT = AAAAAAAA 標題: XXXXXXXX XXXXXXXX XXXXXXX XXXXXXX。
(XXXXXX XXXXXXXXX)

什麼是正確的mysql的方法是什麼?修剪?或子?

回答

0

我不認爲修剪功能會在這裏工作,並詢問是否使用修剪或子字符串讓我懷疑你是否已經知道如何獲得alt和標題。 也許這就是你應該問的問題?

+0

好的。我很確定你真正需要知道的是如何獲得alt和標題。如果是這樣,您需要提供有關字符串的更多信息。即包含在字符串中的信息的長度。是否ALT和標題的長度固定? – Learning

+0

沒有它不固定。 我有幾個長度。 「s:126」是以下字符串的字符。 我必須將它設置在6000行上。這是不平等的。 –

+0

你需要告訴我們字符串背後的故事,以便我們能夠像s:24和s:126代表什麼那樣幫助你。你真的需要給我們更多關於字符串的信息。 – Learning

0

你可以嘗試像

select @alt:=substring(yourcolumn, 12, if(locate(';',yourcolumn,12)=0,length(yourcolumn),locate(';',yourcolumn,12))-13) as alt, 
case locate('s:5:',yourcolumn, 12+length(@alt)) when 0 then '' else substring(yourcolumn, 33+length(@alt)) end as title 
from yourtable, (select @alt:='') x; 

您可以根據您的要求改善這一點,但是這可能是一個開始。

上面的示例查詢假定s:24,s:5,s:126在存在時是固定的,除了alt和title的值之外,格式將始終保持不變。