когда вы используете функцию strpos
, но не нашли символ в строке.
Я бы использовал функцию POSITION , чтобы получить чартерную позицию и сделать подстроку, чтобы получить значение,потому что, если он не найдет символ, он вернет 0
вместо ошибки.
CREATE TABLE T(
email varchar(50)
);
insert into t values ('aa@gmmail.com');
insert into t values ('11.com');
insert into t values ('test@gmmail.com');
Запрос 1 :
select CASE WHEN POSITION('@' in email) > 0 THEN
substr(email,1,POSITION('@' in email)-1)
ELSE ''
END
FROM T
Результаты :
| case |
|------|
| aa |
| |
| test |