一、如何提取字符串中的纯数字
SQL语句如下(示例):
select a,substring(a,patindex('%[0-9]%', a),
patindex('%[0-9][^0-9]%', a)-patindex('%[0-9]%', a)+1)as only_number
from A
二、效果图
一基础使用:
--声明一个nvarchar类型的变量并赋值declare @Name nvarchar(50)set @Name='我正在123学.习22.
SQL
中
11.的一些函数'
--patindex函数返回所查内容在
字符串
中
第一次出现的内容print patindex('%在%',@Name) --此处会返回3
print patindex('%[0-9]%',@Name) --此处会返回4
--STUFF函数删除指定长度的字符在指定的起始点插入另一组字符--格式 stuff(param...
/****** Object: UserDefinedFunction [dbo].[F_Get_No] Script Date: 10/18/2013 22:03:13 ******/
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
create func...
SQL
Server
中
可以使用内置函数 `PARSE` 或者 `STRING_SPLIT` 来实现分隔
字符串
。
例如,要将
字符串
"A,B,C,D" 按照 "," 进行分隔,可以使用以下代码:
SELECT value
FROM STRING_SPLIT('A,B,C,D', ',')
也可以使用 `PARSE` 函数,例如:
DECLARE @str nvarchar(50) = 'A,B,C,D';
WITH split (start, [end], value) AS
SELECT 1, CHARINDEX(',', @str),
SUBSTRING(@str, 1, CHARINDEX(',', @str) - 1)
UNION ALL
SELECT [end] + 1, CHARINDEX(',', @str, [end] + 1),
SUBSTRING(@str, [end] + 1, CHARINDEX(',', @str, [end] + 1) - [end] - 1)
FROM split
WHERE [end] > 0
SELECT value
FROM split;
这两种方法都可以用来分隔
字符串
,您可以根据实际情况选择使用。