У меня есть следующий оператор SQL, который возвращает одну запись, как и ожидалось:
select * from geodatasource_cities C,<br />
geodatasource_countries D <br />
where C.CC_FIPS = D.CC_FIPS<br />
and D.CC_ISO='AU'<br />
and UCASE(TRIM(C.FULL_NAME_ND)) LIKE '%JAN JUE%';
Однако, если я использую следующий оператор SQL, записи не возвращаются. Я только изменил предложение LIKE на предложение равно:
select * from geodatasource_cities C,<br>
geodatasource_countries D<br>
where C.CC_FIPS = D.CC_FIPS<br>
and D.CC_ISO='AU'<br>
and UCASE(TRIM(C.FULL_NAME_ND)) = 'JAN JUE';
Кто-нибудь может помочь мне понять, почему это может происходить?
Аналогично, со следующим утверждением:
select LENGTH(COUNTRY_NAME),<br>
LENGTH('Australia'),<br>
COUNTRY_NAME<br>
from countries<br>
WHERE UCASE(TRIM(COUNTRY_NAME)) LIKE '%AUSTRALIA%'<br>
Возвращает:
10 | 9 | Австралия
РЕДАКТИРОВАТЬ
Вот пример SQL, который я использовал для импорта данных:
load data local infile 'CITIES.TXT'<br>
into table geodatasource_cities<br>
fields terminated by '\t'<br>
lines terminated by '\n'<br>
(CC_FIPS,FULL_NAME_ND);<br>
Похоже, \ n наносит ущерб моим данным. Я постараюсь импортировать с альтернативными вариантами завтра.