号我需要的东西是这样的:的MySQL选择其中
SELECT * FROM `table` WHERE '123' IN (`column`)
在 '列'(VARCHAR 255场),还有一些号码,如1,50,145,123,58,
我不知道要更好地解释,但我想你明白我需要什么。
号我需要的东西是这样的:的MySQL选择其中
SELECT * FROM `table` WHERE '123' IN (`column`)
在 '列'(VARCHAR 255场),还有一些号码,如1,50,145,123,58,
我不知道要更好地解释,但我想你明白我需要什么。
SELECT * FROM table WHERE FIND_IN_SET('123', column);
参见http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set
SELECT * FROM table WHERE column LIKE '%123%';
谢谢,但例如,如果我搜索123但有一个像1234这样的数字,将返回错误的结果,我需要在所有这些数字之间准确搜索123号码 – Alexander 2013-04-22 11:46:04
哦。那么如果你不能使用其他的SET建议,你必须将'column'结果分割出来并测试它们。如果你使用LIKE返回一个带有一些额外行的集合,你的后期处理可能很容易使用PHP,或者你将不得不在MySQL中编写一个函数来为你做。对不起,但我没有时间现在做。这是一个很好的例子。[http://blog.fedecarg.com/2009/02/22/mysql-split-string-function/] – ndasusers 2013-04-22 15:11:03
SELECT * FROM table WHERE find_in_set('123',column)
谢谢,但只有在我搜索所有这些数字的第一个数字时才能正常工作。 – Alexander 2013-04-22 11:43:24
@Bogdan你有没有试过它..这应该不分位置 – alwaysLearn 2013-04-22 11:48:44
@Bogdan见http://sqlfiddle.com/#!2/1c489/1 – alwaysLearn 2013-04-22 11:52:05
FIND_IN_SET( '123',列)(HTTP:// dev的.mys ql.com/doc/refman/5.6/en/string-functions.html#function_find-in-set)或正常地标准化你的数据 – 2013-04-22 11:32:17
发表你试过的东西? – 2013-04-22 11:32:20
数字1,50,145 ...每行一个吗?或者每行中的“列”字段是一个包含所有数字的字符串? – Osiris 2013-04-22 11:32:55