我有以下 SQL 语句,它按预期返回一条记录:
select * from geodatasource_cities C,
geodatasource_countries D
where C.CC_FIPS = D.CC_FIPS
and D.CC_ISO='AU'
and UCASE(TRIM(C.FULL_NAME_ND)) LIKE '%JAN JUE%';
但是,如果我使用以下 SQL 语句,则不会返回任何记录。我只将 LIKE 子句更改为等于子句:
select * from geodatasource_cities C,
geodatasource_countries D
where C.CC_FIPS = D.CC_FIPS
and D.CC_ISO='AU'
and UCASE(TRIM(C.FULL_NAME_ND)) = 'JAN JUE';
谁能帮我理解为什么会发生这种情况?
同样,使用以下语句:
select LENGTH(COUNTRY_NAME),
LENGTH('Australia'),
COUNTRY_NAME
from countries
WHERE UCASE(TRIM(COUNTRY_NAME)) LIKE '%AUSTRALIA%'
它返回:
10 | 9 | 澳大利亚
编辑
这是我用来导入数据的 SQL 示例:
load data local infile 'CITIES.TXT'
into table geodatasource_cities
fields terminated by '\t'
lines terminated by '\n'
(CC_FIPS,FULL_NAME_ND);
似乎 \n 正在对我的数据造成严重破坏。明天我将尝试使用其他选项导入。