我有一个问题可能对大多数人来说都是基本的。
我运行MySQL数据库,我想编写一个涉及多个长度定义的查询。
该表格包含nationality
和ID
列。我想写一个查询,其中结果只返回其中nationality ='1'且ID长度为'8'且nationality = not'1'且ID长度为'4'的行。
希望你明白这一点!
谢谢!
答案 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'
您可以尝试以上查询。