sql-server - 如何在 sql server 中分隔字符串、特殊符号和整数?x
问题描述
这是问题 kumarpavanprashanth@@@123679
我试过这个
DECLARE @MyString varchar(1000) = 'kumarpavanprashanth@@@123679';
declare @Counter integer = 1;
declare @currChar char(1) = '';;
declare @charString varchar(1000) = '';
declare @intString varchar(1000) = '';
while (@Counter <= len(@MyString))
begin
set @currChar = substring(@MyString,@Counter,1)
if isNumeric(@currChar) = 1
set @intString = @intString + @currChar
else
set @charString = @charString + @currChar
set @counter = @counter + 1
end
select @charString;
select cast(@intString as integer)
预期输出:
在第一列中应该有 kumar,pavan,prashanth
在第二列中应该有@,@,@
在第三列中应该有 1,2,3,6,7,9
解决方案
如果您可以定义不同于所有输出类型的字符串。您可以使用以下查询:您必须使用 SQL 2016
从 STRING_SPLIT 中选择值('kumar,pavan,prashanth/@,@,@/1,2,3,6,7,9', '/')
推荐阅读
- visual-studio-code - 如何在 VSCode 中永久隐藏调试控制台?
- javascript - 如何将新对象添加到数组中的另一个对象
- linux - 从 env Linux 中删除后变量自动完成
- c# - 为 Easylanguage 创建 C# dll
- javascript - 为什么html通过js脚本显示给定元素而不是其他元素?
- c# - C#等待线程完成而不阻塞UI
- python - 如何避免可变子类作为 Python 中的属性在两个类实例之间共享?
- javascript - js中如何让每只耳朵发出不同的声音?
- c# - C# Razor Html.Raw 导致与条件语句发生冲突
- django - Stripe with Django - 从 Session 中检索产品/价格