我有一个表pub
,它看起来像下表:
+------------+----------------------------------+
| pub_id | pub_name |
+------------+----------------------------------+
| P0010101 | Jex Max Publication |
| P0020101 | BPP Publication |
| H0030102 | New Harrold Publication |
| H0040101 | Ultra Press Inc. |
| P0050101 | Mountain Publication |
| P0060103 | Summer Night Publication |
| P0070104 | Pieterson Grp. of Publishers |
| P0080102 | Novel Publisher Ltd. |
+--------+--------------------------------------+
我想用AND
子句进行过滤,如果在列pub_id
中包含P0
在第1到2个 letter和0101
在第3到6个 letter中,则包含所有句子。
我试过了:
SELECT pub_id, pub_name FROM pub WHERE LEFT(pub_id,2) = 'P0' and pub_id LIKE '%0101%'
但是结果是这样的
+------------+----------------------------------+
| pub_id | pub_name |
+------------+----------------------------------+
| P0010101 | Jex Max Publication |
| P0020101 | BPP Publication |
| P0050101 | Mountain Publication |
+--------+--------------------------------------+
我对结果的期望如下:
+------------+----------------------------------+
| pub_id | pub_name |
+------------+----------------------------------+
| P0010101 | Jex Max Publication |
+------------+----------------------------------+
发布于 2018-04-24 07:57:56
您可以只使用pub_id LIKE 'P00101%'
。那么你就不需要left()
了。
https://stackoverflow.com/questions/49991488
复制相似问题