多个长度的陈述

时间:2016-10-13 08:21:20

标签: mysql

我有一个问题可能对大多数人来说都是基本的。

我运行MySQL数据库,我想编写一个涉及多个长度定义的查询。

该表格包含nationalityID列。我想写一个查询,其中结果只返回其中nationality ='1'且ID长度为'8'且nationality = not'1'且ID长度为'4'的行。

希望你明白这一点!

谢谢!

2 个答案:

答案 0 :(得分:0)

drop table if exists t;
create table t (id varchar(8), nationality int);
insert into t values
('aaaa',1),('defghijk',1),('bbbb',2),('nopqrstu',2);

select t.*
from    t 
where (length(id) = 8 and nationality = 1) or (length(id) = 4 and nationality <> 1);

注意使用括号。

答案 1 :(得分:-1)

SELECT *
FROM tablename
WHERE nationality = 1
AND LEN(ID) = '4'
UNION
SELECT * 
FROM tablename
WHERE nationality <> 1
AND LEN(ID) = '8'

您可以尝试以上查询。