应使用哪种SQL列数据类型来存储电子邮件地址?

时间:2012-10-27 17:42:35

标签: email azure-sql-database varchar nvarchar

应使用哪种SQL列数据类型来存储电子邮件地址?我认为varchar(256)可能就是答案。有什么理由它应该是nvarchar(256)?我正在写一个SQL Azure数据库。

如何对电子邮件地址进行客户端验证,以确定用户是否输入了unicode字符?

1 个答案:

答案 0 :(得分:1)

允许电子邮件地址包含非Unicode字符: Are email addresses allowed to contain non-alphanumeric characters?

作为最佳实践,我希望将来为全球化/本地化支持创建一个nvarchar列(因为你永远不知道)。 nvarchar与varchar所需的额外空间可以忽略不计。

对于捕获电子邮件验证的每个可能字符并不容易,您可以编写一个正则表达式函数来检查这一点,因为大多数高级语言都符合Unicode。