Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Можно ли в SQL реализовать следующее ?Есть таблица в ms sql типо :

omar|mdtv Профи (728), на голосовании 2 года назад
CREATE TABLE Users (
name NVARCHAR (30),
surname NVARCHAR (30),
email varchar(30) )
Вопрос такой: Можно ли сделать так что б неверные форматы емэйлов отбрасывались
Что то типо такого: CHECK ( email NOT LIKE '%_@__%.__%'));
Ну или как вообще такое можно реализовать?
Голосование за лучший ответ
Дед Мазай Гений (58137) 2 года назад
Неправильный CHECK. Должно быть наоборот:
CHECK (email LIKE '%_@__%.__%'))
Написать это можно, но лучше проверять формат email в приложении. При помощи LIKE не получится сделать надёжную проверку адреса.
omar|mdtvПрофи (728) 2 года назад
Что вы имеете ввиду под " лучше проверять формат email в приложении"?
Дед Мазай Гений (58137) omar|mdtv, пользователь не работает напрямую с БД. Он работает через какое-то приложение. Это приложение должно проверять данные перед их сохранением в БД.
Аглая Шниц Искусственный Интеллект (145162) 2 года назад
вот тут есть интересный вариант, как прикрутить regexp-ы к проверке:
https://stackoverflow.com/a/65841220
Владимир Алексеев Оракул (50294) 2 года назад
"Ну или как вообще такое можно реализовать?"
ручками написать проверку.
и существования урла, и адреса почты.
Похожие вопросы