ºìÁªLinuxÃÅ»§
Linux°ïÖú

MySQL µÄÆÕͨºÍÄ£ºý²éѯÎÊÌâ

·¢²¼Ê±¼ä:2006-11-12 00:36:41À´Ô´:ºìÁª×÷Õß:Ííµã
[¶ÔÖÐÎÄÖ§³ÖµÄ²»ÓѺÃÒ²³£Ó°ÏìżµÄ¹¤×÷£¬ÕâƪתÀ´µÄÎÄÕÂÏ£Íû´ó¼Ò×¢ÒâÒ»ÏÂ]
ÎÒÔÚ¿ª·¢¹ý³ÌÖз¢ÏÖ MySQL ½øÐÐÊý¾Ý²éѯʱ´æÔÚһЩÎÊÌâ.
ÈçÄ£ºý²éѯһ¸ö×Ö¶Î,¸Ã×Ö¶ÎÖаüº¬"ÁË"×Ö, SQL Óï¾äÈçÏÂ:
select * from table_name where field_name like '%ÁË%';
ÏÔʾµÄ¼Ç¼ÖгýÁË°üº¬"ÁË"×ֵļǼ,Á¬"¼ûÀË"¾ºÈ»Ò²±»²éÁ˳öÀ´.
ÔÙÈç:ÎÒ²éѯһ¸ö×ֶεÈÓÚ "chouY", SQL Óï¾äÈçÏÂ:
select * from table_name where field_name='chouY';
½á¹ûÖо¹È»»¹ÓÐ "Chouy".ÕâÊÇΪºÎÄØ?
¾­¹ýÔÚÍøÉϵIJéÕÒ, ÕÒµ½ÁËÔ­Òò: ÔÚ MySQL ÖÐ, ½øÐÐÖÐÎÄÅÅÐòºÍ²éÕÒµÄʱºò, ¶Ôºº×ÖµÄÅÅÐòºÍ²éÕÒ½á¹ûÊÇ´íÎóµÄ. ³öÏÖÕâ¸öÎÊÌâµÄÔ­ÒòÊÇ: MySQL ÔÚ²éѯ×Ö·û´®Ê±ÊÇ´óСд²»Ãô¸ÐµÄ, ÔÚ±àÒï MySQL ʱһ°ãÒÔ ISO-8859 ×Ö·û¼¯×÷ΪĬÈϵÄ×Ö·û¼¯, Òò´ËÔڱȽϹý³ÌÖÐÖÐÎıàÂë×Ö·û´óСдת»»Ôì³ÉÁËÕâÖÖÏÖÏó.
ÔÚÍøÉÏÒ²ÕÒµ½Á˼¸ÖÖ½â¾ö·½·¨:
·½·¨Ò»:
½â¾ö·½·¨ÊǶÔÓÚ°üº¬ÖÐÎĵÄ×ֶμÓÉÏ "binary" ÊôÐÔ, ʹ֮×÷Ϊ¶þ½øÖƱȽÏ, ÀýÈ罫 "name char(10)" ¸Ä³É "name char(10)binary".
·½·¨¶þ:
¡¡¡¡ Èç¹ûÄãʹÓÃÔ´Âë±àÒë MySQL, ¿ÉÒÔ±àÒë MySQL ʱʹÓà --with-charset=gbk ²ÎÊý£¬ÕâÑù MySQL ¾Í»áÖ±½ÓÖ§³ÖÖÐÎIJéÕÒºÍÅÅÐòÁË¡£
·½·¨Èý:
¡¡¡¡ ¿ÉÒÔʹÓà Mysql µÄ locate() º¯ÊýÀ´Åжϡ£ÒÔÉÏÊöÎÊÌâΪÀý,ʹÓ÷½·¨Îª:
SELECT * FROM table_name WHERE locate(field_name,'ÁË') > 0;
·½·¨ËÄ:
°ÑÄúµÄ select Óï¾ä¸Ä³ÉÕâÑù:
SELECT * FROM table_name WHERE field_name LIKE BINARY '%ÁË%';
·½·¨Îå:
Äã¿ÉÒÔÐÞ¸Ä my.ini (Linux ÏÂΪ my.conf)Îļþ,ÕÒµ½ default-character-set ÊôÐÔ,·´°ÑÆäÖµÉèΪ gbk; »òÕßÔÚÆô¶¯ mysqld-nt (Linux ÏÂΪ mysqld)ʱ¼ÓÉÏÆô¶¯²ÎÊý --default-character-set=gbk, ÕâÑùÒ²Äܽâ¾öÎÊÌâ.
ÒÔÉϵķ½·¨ÎÒÖ»ÊÔÑéÁ˵ÚËÄÖֺ͵ÚÎåÖÖ·½·¨, ÆäËüµÄ²¢Ã»ÓÐÑéÖ¤. µÚËÄÖÖ·½·¨Äܽâ¾öÕâÁ½¸öÎÊÌâ; µÚÎåÖÖ·½·¨Ö»Äܽâ¾öµÚÒ»¸öÖÐÎÄÎÊÌâ, µ«¶ÔÊý¾Ý¿âÖÐÒÑÓеÄÖÐÎÄÊý¾Ý»á²úÉúÎÊÌâ.
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ