sql 如何截取字符串中的数字
时间: 2024-04-25 07:23:48 浏览: 129
要在SQL中截取字符串中的数字,可以使用自定义函数来实现。引用\[1\]提供了一个名为fn_myget的自定义函数,该函数可以截取字符串中的数字、字母和汉字等。引用\[2\]和\[3\]提供了两个示例函数,可以只提取字符串中的数字。
示例函数如下:
```sql
-- 只提取数字
CREATE FUNCTION dbo.GetNumbersFromString(@str NVARCHAR(100)) RETURNS BIGINT
AS
BEGIN
WHILE PATINDEX('%\[^0-9\]%', @str) > 0
BEGIN
SET @str = STUFF(@str, PATINDEX('%\[^0-9\]%', @str), 1, '')
END
RETURN CONVERT(BIGINT, @str)
END
```
使用该函数可以截取字符串中的数字,例如:
```sql
DECLARE @inputString NVARCHAR(100) = '32313133353236313431303231363533e58685e5aeb931333337613930字'
SELECT dbo.GetNumbersFromString(@inputString) AS ExtractedNumber
```
这将返回字符串中提取到的数字。
请注意,这只是一个示例函数,您可以根据自己的需求进行修改和扩展。
#### 引用[.reference_title]
- *1* [sql如何截取字符串中前面的数字](https://blog.csdn.net/weixin_39557797/article/details/113187911)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [SQL 从字符串中提取数字](https://blog.csdn.net/orichisonic/article/details/106061219)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文