我想通过传递名称来获取域名。
考虑以下,
CREATE TABLE `mails` (
`idmails` int(11) NOT NULL,
`mails` varchar(45) DEFAULT NULL
);
INSERT INTO mails
VALUES(1,'harishsng@gmail.com'),
(2,'harish.sn@m-tutor.com'),(3,'harishsn@yahoo.in');
当我通过时 案例1:harishsng,结果应该是gmail, 案例2:harish.sn它应该是m-tutor。
我怎样才能在MySQL中做到这一点?
答案 0 :(得分:4)
SUBSTRING_INDEX
在这里派上用场了:
SELECT
idmails,
mails,
SUBSTRING_INDEX(SUBSTRING_INDEX(mails, '@', -1), '.', 1) AS domain
FROM mails;
答案 1 :(得分:2)
我认为这就是你要找的东西。您可以使用substring_index
select substring_index(substring_index(mails,'.com',1), '@', -1 ) from mails where email like 'harishsng%'
答案 2 :(得分:0)
SELECT替换(替换(替换(邮件,' harishsng'''),' @','') ,' .com','')来自bullet.mails,其邮件类似于'%harishsng%';
答案 3 :(得分:0)
#include <stdio.h>
void foo(char* qux) { puts(qux); }
void bar(char** qux) { puts(*qux); }
void baz(char* qux[12]) { puts(*qux); }
int main() {
char str[12] = "Hello there";
foo(str);
bar(&str); // Compiler warning
baz(&str); // Same compiler warning
return 0;
}