Какой тип данных столбца SQL следует использовать для хранения адресов электронной почты?

Какой тип данных столбца SQL следует использовать для хранения адресов электронной почты? Я думаю, что varchar(256), вероятно, ответ. Есть ли причина, по которой это должен быть nvarchar(256)? Я пишу в базу данных SQL Azure.

Как я могу выполнить проверку адресов электронной почты на стороне клиента, чтобы узнать, набрал ли пользователь символ юникода или нет?

1 ответ

Решение

Адреса электронной почты могут содержать символы, отличные от Юникода. Разрешено ли содержать адреса электронной почты не буквенно-цифровыми символами?

В качестве лучшей практики я хотел бы создать столбец nvarchar для поддержки глобализации / локализации в будущем (потому что вы никогда не знаете). Дополнительное пространство, необходимое для nvarchar по сравнению с varchar, очень незначительно.

Поскольку захват каждого возможного символа для проверки электронной почты является непростым, вы можете написать функцию регулярного выражения, чтобы проверить это, поскольку большинство языков высокого уровня совместимы с Юникодом.

Другие вопросы по тегам