我想在MySQL中编写一个SELECT,就像MS-SQL中的SELECT
一样SELECT * FROM MyTable WHERE name='%Jack%'
和这个答案:
+--------+
| Jack |
+--------+
| Ajack |
+--------+
| jackA |
+--------+
| AJackA |
+--------+
在MySql中如何做到这一点?
答案 0 :(得分:4)
使用LIKE
SELECT * FROM MyTable WHERE name LIKE '%Jack%'
如果您对数据使用区分大小写的排序规则,则可以更改查询
SELECT * FROM MyTable WHERE name LIKE '%Jack%' collate utf8_general_ci
答案 1 :(得分:1)
如果SQL LIKE
子句与%字符一起使用,那么它将在Unix中像元字符(*)一样工作,同时在命令提示符下列出所有文件或目录。
没有%字符LIKE
子句与等号和WHERE
子句非常相似。
<强>语法:强>
以下是SELECT命令的通用SQL语法以及从MySQL表中获取数据的LIKE子句:
SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
在您的情况下使用
SELECT * FROM MyTable WHERE name LIKE '%Jack%'
答案 2 :(得分:1)
阅读官方文档http://dev.mysql.com/doc/refman/5.0/en/select.html
您工作的变体是SELECT * FROM MyTable WHERE name = 'Jack'
;
或使用像您工作的变体SELECT * FROM MyTable WHERE name LIKE '%Jack%';
答案 3 :(得分:1)
使用带 LOWER 关键字的 LIKE 运算符,将名称与值匹配。
试试这个:
SELECT * FROM MyTable
WHERE LOWER(name) LIKE '%jack%';