是否有一个简单的解决方案可以从电子邮件地址获取顶级域名(TLD)?
重要的是,支持.berlin
等TLD和info@infrastructure.bdata.de
等子域名。
没有TSQL,只能进行一次查询。
答案 0 :(得分:1)
这是一个例子。用您的真实电子邮件地址替换示例电子邮件地址:
Select substring( 'mike.meyer@infrastructure.bdata.berlin' , 1 + 1+ LEN('mike.meyer@infrastructure.bdata.berlin') - CHARINDEX('.' , reverse('mike.meyer@infrastructure.bdata.berlin')) , LEN('mike.meyer@infrastructure.bdata.berlin') )
问题是,charindex()只返回第一个字符,但我们需要最后一个字符。所以我们还需要reverse()。
该陈述执行以下步骤:
.
.
添加+1,为mssql中的子字符串的起始索引添加第二个+1。