“使用In运算符”中的区分大小写

时间:2018-08-12 00:38:12

标签: sql

我正在按照“ 10分钟内执行SQL”的说明进行操作,遇到这样的问题:

在其示例“使用In运算符”中

<Post post={this.state.post}/>

产生了结果:

{this.state.post && <Post post={this.state.post}/>}

但是,我尝试使用MySQL附带结果:

SELECT prod_name, prod_price 
FROM Products 
WHERE vend_id IN ('DLL01','BRS01') 
ORDER BY prod_name;

如果将+---------------------+------------+ | prod_name | prod_price | +---------------------+------------+ | 12 inch teddy bear | 8.99 | | 18 inch teddy bear | 11.99 | | 8 inch teddy bear | 5.99 | | Bird bean bag toy | 3.49 | | Fish bean bag toy | 3.49 | | Rabbit bean bag toy | 3.49 | | Raggedy Ann | 4.99 | +---------------------+------------+ 设置为小写,我可以检索相同的输出:

MySQL [distributor]> select prod_name, prod_price from products where vend_id in ("DLL01", "BSR01") order by prod_name;
+---------------------+------------+
| prod_name           | prod_price |
+---------------------+------------+
| Bird bean bag toy   |       3.49 |
| Fish bean bag toy   |       3.49 |
| Rabbit bean bag toy |       3.49 |
| Raggedy Ann         |       4.99 |
+---------------------+------------+

由于我对SQL的了解有限,因此很难弄清区分大小写的问题。

2 个答案:

答案 0 :(得分:1)

您可以使用lower()upper()设置大小写,因此适当的逻辑将是:

SELECT prod_name, prod_price 
FROM Products 
WHERE UPPER(vend_id) IN ('DLL01', 'BRS01') 
ORDER BY prod_name;

答案 1 :(得分:-2)

在此示例中,书的空白字符存在问题

在哪里vend_id **(这里有问题)** IN

用新的空格替换空格是可行的

这将在不区分大小写的情况下起作用

从prod_name中的vend_id IN('DLL01','BRS01')订单的产品中选择prod_name,prod_price;

This statement doesn't work despite looking like it should