我有一个不同域名的电子邮件地址列表,例如abc123@gmail.com,def456@woodstock.br,ghi789@jetbrains.net,并想知道如何从电子邮件中获得域名(例如gmail、woodstock、jetbrains)。到目前为止我得到了:
SELECT SUBSTR(Email, INSTR(Email, '@') + 1) as DOMAIN FROM Table
它移除前面的所有东西和“@”标志。我在MySQL上看到过类似的文章,但由于SQLite没有SUBSTRING_INDEX函数,所以我想知道SQLite还有什么选择
如有任何帮助,将不胜感激:)
发布于 2016-10-06 23:23:48
您可以使用它的工作:select substr(Email, instr(Email, '@') + 1) as DOMAIN from Table;
参考执行情况:
http://sqliteonline.com/#fiddle-57f6dd1371fedc4893affeede56d1ad5d910a3d1a0ab612286
更新:
若要只获取域提供程序名称,请执行以下操作:
select replace(substr(name, instr(name, '@') + 1), ltrim(substr(name, instr(name, '@') + 1), replace(substr(name, instr(name, '@') + 1), '.', '')), '') as provider from demo;参考执行情况:
http://sqliteonline.com/#fiddle-57f6e07c3b960bc86eb66cd46c8958b6bdd1c34d4bb6456091
https://stackoverflow.com/questions/39907015
复制相似问题