विधि 1:
आप REPLACE() का उपयोग कर सकते हैं MySQL में विशेष वर्णों को हटाने की विधि, यह नहीं पता कि यह बहुत ही कुशल है या नहीं। लेकिन यह काम करना चाहिए।
नीचे की तरह:
SELECT Replace(Replace(product_name,'@',''),'+','') as prod_type
From Table1
विधि 2:
यदि आपके पास अन्य सभी विशेष चरित्र हैं तो इसके साथ जाएं (स्रोत )
-- ----------------------------
-- Function structure for `udf_cleanString`
-- ----------------------------
DROP FUNCTION IF EXISTS `udf_cleanString`;
DELIMITER ;;
CREATE FUNCTION `udf_cleanString`(`in_str` varchar(4096)) RETURNS varchar(4096) CHARSET utf8
BEGIN
DECLARE out_str VARCHAR(4096) DEFAULT '';
DECLARE c VARCHAR(4096) DEFAULT '';
DECLARE pointer INT DEFAULT 1;
IF ISNULL(in_str) THEN
RETURN NULL;
ELSE
WHILE pointer <= LENGTH(in_str) DO
SET c = MID(in_str, pointer, 1);
IF ASCII(c) > 31 AND ASCII(c) < 127 THEN
SET out_str = CONCAT(out_str, c);
END IF;
SET pointer = pointer + 1;
END WHILE;
END IF;
RETURN out_str;
END
;;
DELIMITER ;
उसके बाद बस फ़ंक्शन को इस प्रकार कॉल करें:
SELECT product_name, udf_cleanString(product_name) AS 'product_Type'
FROM table1;