sql server 提取汉字、数字和字母的sql server方法
2016-03-21 11:54
721 查看
sql server 提取汉字/数字/字母的方法
--提取数字
if object_id('dbo.get_number2') is not null
drop function dbo.get_number2
go
create function dbo.get_number2(@s varchar(100))
returns varchar(100)
as
begin
while patindex('%[^0-9]%',@s) > 0
begin
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
end
return @s
end
go
--测试
print dbo.get_number('呵呵abc123abc')
go
--123
--------------------------------------------------------------------
--提取英文
if object_id('dbo.get_str') is not null
drop function dbo.get_str
go
create function dbo.get_str(@s varchar(100))
returns varchar(100)
as
begin
while patindex('%[^a-z]%',@s) > 0
begin
set @s=stuff(@s,patindex('%[^a-z]%',@s),1,'')
end
return @s
end
go
--测试
print dbo.get_str('呵呵abc123abc')
go
--------------------------------------------------------------------
--提取中文
if object_id('dbo.china_str') is not null
drop function dbo.china_str
go
create function dbo.china_str(@s nvarchar(100))
returns varchar(100)
as
begin
while patindex('%[^吖-座]%',@s) > 0
set @s = stuff(@s,patindex('%[^吖-座]%',@s),1,n'')
return @s
end
go
print dbo.china_str('呵呵abc123abc')
go
select * from (select 'asdkg論壇k联通dl' as col)tb where col like n'%[吖-咗]%'
--使用函数
select 函数名(字段名) from 表名
select dbo.china_str(Contents) from M_News
--提取数字
if object_id('dbo.get_number2') is not null
drop function dbo.get_number2
go
create function dbo.get_number2(@s varchar(100))
returns varchar(100)
as
begin
while patindex('%[^0-9]%',@s) > 0
begin
set @s=stuff(@s,patindex('%[^0-9]%',@s),1,'')
end
return @s
end
go
--测试
print dbo.get_number('呵呵abc123abc')
go
--123
--------------------------------------------------------------------
--提取英文
if object_id('dbo.get_str') is not null
drop function dbo.get_str
go
create function dbo.get_str(@s varchar(100))
returns varchar(100)
as
begin
while patindex('%[^a-z]%',@s) > 0
begin
set @s=stuff(@s,patindex('%[^a-z]%',@s),1,'')
end
return @s
end
go
--测试
print dbo.get_str('呵呵abc123abc')
go
--------------------------------------------------------------------
--提取中文
if object_id('dbo.china_str') is not null
drop function dbo.china_str
go
create function dbo.china_str(@s nvarchar(100))
returns varchar(100)
as
begin
while patindex('%[^吖-座]%',@s) > 0
set @s = stuff(@s,patindex('%[^吖-座]%',@s),1,n'')
return @s
end
go
print dbo.china_str('呵呵abc123abc')
go
select * from (select 'asdkg論壇k联通dl' as col)tb where col like n'%[吖-咗]%'
--使用函数
select 函数名(字段名) from 表名
select dbo.china_str(Contents) from M_News
相关文章推荐
- MySQL与SQLServer的update left join语法区别
- 【数据库】封锁技术
- 简单使用SQLite 的增删改查
- MySQL分页SQL和ORACLE分页SQL
- DBA scripts
- Oracle自增ID实现
- oracle 12c的plsql64位系统安装
- mysql 打开binlog 要注意的几个点
- 关于oracle block corruption (mos (文档 ID 840978.1))
- mysql报错
- MSSQL 创建用户和权限简单操作
- MySQL 5.6 for Windows 配置安装
- Linux 下安装 Mongodb
- mysql使用触发器实现check约束功能
- Linux Redis安装
- windows下修改memcached服务的端口号
- sql学习之CASE WHEN THEN ELSE END的用法
- mysql从.frm和.ibd文件恢复数据库
- SQL 2008清空日志
- MySQL中的各种引擎