PDA

View Full Version : مشکل با دستور like



behrooz&emad
چهارشنبه 14 آذر 1386, 17:27 عصر
سلام دوستان خسته نباشید.
من یک procedure دارم که یک رشته را به آن پاس می کنم.
و می خواهم از پارامتر حاوی رشته به شکل زیر در دستور like استفاده کنم ولی به مشکل بر می خورم.
DELIMITER $$

DROP PROCEDURE IF EXISTS `travel`.`get_like_movepro` $$
((CREATE DEFINER=`root`@`localhost` PROCEDURE `get_like_movepro`(str varchar (30
BEGIN
[select path.path_string from path where path_string like '%'str'%' [/LEFT

END $$

DELIMITER ;

peyman1987
چهارشنبه 14 آذر 1386, 19:53 عصر
دوست عزیز بجای '%'str'%' از '%str%' استفاده کن.

reza_rad
پنج شنبه 15 آذر 1386, 10:03 صبح
توضیحات کاملتر:
http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html

behrooz&emad
پنج شنبه 15 آذر 1386, 13:06 عصر
ببینید دوستان من می خواهم بین %% از یک متغیر استفاده کنم نه یک رشته. به همین دلیل هیچ کدام از این دستورات جواب نمی دهد.'%'str%' , '%'str%'
str یک متغیر است.در این جا('%str('% str یک رشته است نه یک متغیر.

reza_rad
جمعه 16 آذر 1386, 12:05 عصر
بجای


[select path.path_string from path where path_string like '%'str'%' [/LEFT


از این:

select path.path_string from path where path_string like CONCAT('%',str,'%')



استفاده کنید ببینید حل میشه؟

توضیحات بیشتر در مورد دستور CONCAT :
http://dev.mysql.com/doc/refman/5.1/en/string-functions.html#function_concat

behrooz&emad
جمعه 16 آذر 1386, 14:13 عصر
مرسی دوست عزیز حل شد.