2013-06-03 7 views
1

Я пытаюсь манипулировать моим результатом выбора sql. Я сохранил переменную в базе данных таким образом <p>asd</p>, поэтому она будет признана абзацем в моем приложении, но я хочу использовать ее в другой функции моего приложения. Я хочу показать это так: «asd».Как манипулировать результатом запроса select в SQL?

Есть ли способ сделать это в sql? любая помощь будет appriciated Я использую PHPMyAdmin

ответ

2

Если вы работаете MySQL 5.1.5 or above, то вы можете использовать функцию XPathExtractValue(), как это ...

SELECT ExtractValue(col1, '/p') FROM xml_test; 

Click here to see it in action at SQL Fiddle

+0

слишком плохо, мой PHPMyAdmin оленья кожа имеет такой функции :( – user2186299

+0

Ah OK. Я обновил свой ответ, чтобы отразить это. – davmos

0

Попробуйте solution

SET GLOBAL log_bin_trust_function_creators=1; 
DROP FUNCTION IF EXISTS fnStripTags; 
DELIMITER | 
CREATE FUNCTION fnStripTags(Dirty varchar(4000)) 
RETURNS varchar(4000) 
DETERMINISTIC 
BEGIN 
    DECLARE iStart, iEnd, iLength int; 
    WHILE Locate('<', Dirty) > 0 And Locate('>', Dirty, Locate('<', Dirty)) > 0 DO 
     BEGIN 
     SET iStart = Locate('<', Dirty), iEnd = Locate('>', Dirty, Locate('<', Dirty)); 
     SET iLength = (iEnd - iStart) + 1; 
     IF iLength > 0 THEN 
      BEGIN 
      SET Dirty = Insert(Dirty, iStart, iLength, ''); 
      END; 
     END IF; 
     END; 
    END WHILE; 
    RETURN Dirty; 
END; 
| 
DELIMITER ; 
SELECT fnStripTags('this <html>is <b>a test</b>, nothing more</html>'); 
Смежные вопросы