当前位置:网站首页>SqlServer 获取字符串中数字,中文及字符部分数据
SqlServer 获取字符串中数字,中文及字符部分数据
2022-06-30 20:37:00 【※※冰馨※※】
--获取英文字符数据
Create function [dbo].[Fun_GetChar]
(
@No varchar(100)
)
RETURNS varchar(100)
AS
BEGIN
WHILE PATINDEX('%[^A-Za-z]%',@No)>0
BEGIN
SET @No=STUFF(@No,PATINDEX('%[^A-Za-z]%',@No),1,'')
END
RETURN CONVERT(varchar(100),@No)
END--select dbo.F_GetChar('2.5mg')--调用函数=mg
--获取数值数据
Create FUNCTION [dbo].[Fun_GetNum]
( @Str NVARCHAR(MAX) )
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @Start INT;
DECLARE @End INT;
DECLARE @Part NVARCHAR(MAX)
SET @Start = PATINDEX('%[.,0-9]%', @Str);
SET @End = PATINDEX('%[.,0-9]%',SUBSTRING(@Str, @Start+1,LEN(@Str) - @Start));
SET @Part = SUBSTRING(@Str,@Start,1)
WHILE @End >0
BEGIN
SET @Start = @[email protected]
SET @Part = @Part+SUBSTRING(@Str,@Start,1)
SET @End = PATINDEX('%[0-9]%',SUBSTRING(@Str, @Start+1,LEN(@Str) - @Start));
END
RETURN @Part;
END;--seleect dbo.[Fun_GetNumPart]('2.5mg')--调用函数=2.5
--获取中文数据
create function [dbo].[Fun_getCN]
(@str varchar(4000))
returns varchar(4000)
as
begin
declare @word nchar(1),@CN varchar(4000)
set @CN=''
while len(@str)>0
begin
set @word=left(@str,1)
if unicode(@word) between 19968 and 40869
set @[email protected][email protected]
set @str=right(@str,len(@str)-1)
end
return @CN
end
GO --select dbo.[Fun_getCN('2.5mg,毫克')--调用函数=毫克
边栏推荐
- B_QuRT_User_Guide(32)
- CentOS - enable / disable Oracle
- 毕业设计
- 1、生成对抗网络入门
- NLP paper lead reading | what about the degradation of text generation model? Simctg tells you the answer
- Document contains & conditional competition
- On the charm of code language
- 哈夫曼树(一)基本概念与C语言实现
- 19.04 distributor
- 北京大学ACM Problems 1003:Hangover
猜你喜欢

Lumiprobe细胞生物学丨DiA,亲脂性示踪剂说明书

Implementation principle of PostgreSQL heap table storage engine

微信小程序怎么实现圆心进度条

B_QuRT_User_Guide(31)

Golang应用 ━━ 安装、配置与使用hugo博客系统

A complete collection of vulnerability scanning tools. Mom doesn't have to worry that I won't find any more vulnerabilities

为什么vscode用久了电脑速度变慢?

PHP require/include differences

Jenkins can't pull the latest jar package
![翻转链表II[翻转链表3种方式+dummyHead/头插法/尾插法]](/img/a8/6472e2051a295f5e42a88d64199517.png)
翻转链表II[翻转链表3种方式+dummyHead/头插法/尾插法]
随机推荐
Lumiprobe 改性三磷酸盐丨生物素-11-UTP研究
Jerry's determination of detection sensitivity level [chapter]
uniapp-第三方网络请求
Scene 299
北京大学ACM Problems 1005:I Think I Need a Houseboat
《大厂面试》之JVM篇21问与答
STL的基本组成部分
Lumiprobe无铜点击化学解决方案
Study on PEGylation of lumiprobe and PEG linker - iodine-peg3-acid
动态样式绑定--style 和 class
Basic components of STL
Go 语言标识符、包名规范
Go语学习笔记 - gorm使用 - 数据库配置、表新增 | Web框架Gin(七)
Lumiprobe biotin phosphimide (hydroxyproline) instructions
Study on lumiprobe modified triphosphate biotin-11-utp
[1175. prime number arrangement]
北京大学ACM Problems 1002:487-3279
基于开源流批一体数据同步引擎ChunJun数据还原—DDL解析模块的实战分享
B_QuRT_User_Guide(34)
On the charm of code language