1. mssql2008 提取邮箱名称
select left(列,charindex('~',列+'~')-1) from tb
2. SQL查询语句,如何查询 一个邮箱的域名,比如一个邮箱为[email protected],使用查询语句如何返回163.com
select substring(email_address, charindex('@',email_address,1)+1,len(email_address) - charindex('@',email_address,1)) as domain
from tablename
3. 怎么在SQL数据库中查找程序的登陆用户名和密码
在SQL数据库中查找程序的登陆用户名和密码方法:
1、点击查询分析器。
【拓展资料】
建立多个用户和登陆密码,为其赋予不同的权限,代码如下:
CREATE LOGIN <用户名> WITH PASSWORD = '<密码>';
CREATE USER <用户名>;
4. 现有2张表 求高手用SQL 查询出 user_id的nickname 及send_to的nickname并且mail=“[email protected]”
select user_id ,send_to from tableA a
select b.user_id,a.nickname
from tableA a, tableB b
where a.id = b.send_to and a.mail = '[email protected]'
union all
select aa.id,aa.nickname from tableA aa where aa.mail='[email protected]'
5. 现有2张表 求高手用SQL 查询出 user_id的nickname 及send_to的nickname并且mail=“[email protected]”
上图所示,总共有两张表,我把第一张表命名为A,第二张表命名为B,那么SQL语句如下:
select t2.nackname as '发件人',t3.nickname as '收件人'
from A t1
inner join B t2 on t1.user_id = t2.id
inner join B t3 on t1.send_to = t3.id
如有不明白的,可以给我邮件。[email protected]
6. 如何用sql语句检测邮箱格式
自己没亲自写过 这是引用别人的 先申明一下 使用正则表达式比较好
CREATE FUNCTION F_EMAIL
(
@EMAIL VARCHAR(50)
)
RETURNS INT --返回1是正确;返回0是错误
BEGIN
DECLARE @VALUE INT,@LEN INT
DECLARE @TMP VARCHAR(50)
DECLARE @CHECK1 VARCHAR(50)
DECLARE @CHECK2 VARCHAR(50)
DECLARE @CHECK3 VARCHAR(50)
SET @TMP=RTRIM(LTRIM(@EMAIL))
SET @LEN=LEN(@TMP)
IF @LEN-LEN(REPLACE(@TMP,'@',''))=1 AND @LEN-LEN(REPLACE(@TMP,'.',''))>=1 AND CHARINDEX('@',@TMP)<>1
BEGIN
SET @CHECK1=LEFT(@TMP,CHARINDEX('@',@TMP)-1)
SET @CHECK2=STUFF(@TMP,1,CHARINDEX('@',@TMP),'')
SET @CHECK3=STUFF(@CHECK2,1,CHARINDEX('.',@CHECK2),'')
SET @CHECK2=LEFT(@CHECK2,CHARINDEX('.',@CHECK2)-1)
IF LEN(@CHECK1)>0 and LEN(@CHECK2)>0 AND LEN(@CHECK3)>0
BEGIN
IF PATINDEX('%[^a-zA-Z0-9._-]%',@CHECK1)>0
SET @VALUE=0
ELSE
BEGIN
IF PATINDEX('%[^a-zA-Z0-9_-]%',@CHECK2)>0
SET @VALUE=0
ELSE
BEGIN
IF CHARINDEX(UPPER(@CHECK2),UPPER('gmail,QQ,163,sina,yahoo'))>0
BEGIN
IF PATINDEX('%[^a-zA-Z0-9._-]%',@CHECK3)>0
SET @VALUE=0
ELSE SET @VALUE=1
END
ELSE SET @VALUE=0
END
END
END
ELSE SET @VALUE=0
END
ELSE SET @VALUE=0
RETURN @VALUE
END
--测试
create table tb
(
id int identity,
email varchar(50),
CONSTRAINT chk_email CHECK (dbo.F_EMAIL(email)=1)
)
insert into tb SELECT '[email protected]'
insert into tb SELECT '[email protected]'
insert into tb SELECT '[email protected]'
insert into tb SELECT '[email protected]'
insert into tb SELECT 'AS@[email protected]'
/*
(所影响的行数为 1 行)
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 COLUMN CHECK 约束 'chk_email' 冲突。该冲突发生于数据库 'Test',表 'tb', column 'email'。
语句已终止。
(所影响的行数为 1 行)
(所影响的行数为 1 行)
服务器: 消息 547,级别 16,状态 1,行 1
INSERT 语句与 COLUMN CHECK 约束 'chk_email' 冲突。该冲突发生于数据库 'Test',表 'tb', column 'email'。
语句已终止。*/
SELECT * FROM TB
/*
id email
----------- --------------------------------------------------
1 [email protected]
3 [email protected]
4 [email protected]
(所影响的行数为 3 行)
*/
7. 怎么查看sql server 的用户名
登录数据库所在的服务器,查看IP地址
在服务器名里直接输入IP地址、用户名、密码
如果忘记用户名密码,那么还是登录数据库所在的服务器,先使用windows登录模式,进入后找到用户->重置密码->回到2步骤
8. sql查询邮箱使用情况
create table #temp (email varchar(100))
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
insert into #temp (email) values ('[email protected]')
select substring(email,PATINDEX('%@%',email)+1,len(email)-PATINDEX('%@%',email)),count(*)
from #temp
group by substring(email,PATINDEX('%@%',email)+1,len(email)-PATINDEX('%@%',email))
drop table #temp