mysql - 在 SQL 中比较两封电子邮件的域

标签 mysql sql string compare

情况:

我有一张表:职位发布表(其中包含有关雇主发布的职位的信息)。
职位发布表包含两个电子邮件联系人:employer_email 和 job_email。这两封电子邮件可以相似也可以不同。

*Jobs postings table*
>job_id  
>email_job
>email_employer  
>employer_id

我在找什么:

是比较两个电子邮件的域,如果它们不同则返回值 1 或 0 否则。 例如,如果 email_employer 是 maman@maman.org 并且工作电子邮件是 maman@gmail.com 我想要一个将返回 1 的指示符,因为域(@maman.org 和 @gmail.com)不同。

到目前为止我尝试了什么:

select email_job, email_employer



    case    

    when email_job like '%'+ email_employer +'%'  then 0    

    else 1        

    end compare_domain   

    from job_postings   

我已经尝试了一个星期了,如果有任何帮助,我们将不胜感激!

最佳答案

DECLARE @EMAIL_JOB VARCHAR(255) = 'test1@email_job.com'
DECLARE @EMAIL_EMPLOYER VARCHAR(255) = 'test2@email_employer.com'
SELECT CASE
         WHEN SUBSTRING(@EMAIL_JOB, CHARINDEX('@', @EMAIL_JOB, 1) + 1, LEN(@EMAIL_JOB))
              = SUBSTRING(@EMAIL_EMPLOYER, CHARINDEX('@', @EMAIL_EMPLOYER, 1) + 1, LEN(@EMAIL_EMPLOYER))
         THEN 0
         ELSE 1
       END

关于mysql - 在 SQL 中比较两封电子邮件的域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29125787/

相关文章:

php - 从mysql数据库中绘制

字符串的 Mysql BETWEEN 语句

sql - sitecore 将项目统计数据存储在数据库中的什么位置..?

java - 如何通过 MapReduce 的第二个选项卡拆分单词?

mysql更新语句执行太慢

php - 我想在添加新的 10 行条目时检查我的数据库,限制 24 小时不重复。我如何通过Php和MySql来实现它?

c# - 如何在 EF 设置中仅从 Web.Config 获取提供程序连接字符串?

sql - 从另一个 TABLE (Oracle) 更新 TABLE 中的多个列

C# Switch-case 字符串开头

c# - .NET String.Format() 在数字的千位添加逗号