sql - 将字符串拆分为由句号分隔的字母 (SQL)
问题描述
我正在尝试编写一个存储过程,它接受一个字符串参数并返回它,每个字符用句号分隔。
因此,例如我希望 SP 接受参数 DOG 并返回 DOG
我尝试使用 STRING_SPLIT 函数,如下所示:
select STRING_SPLIT(@myString, '')
但它似乎与我正在使用的 SQL 版本(2014)不兼容(错误消息说它不是一个可识别的函数)。即使它确实有效,我也不确定如何插入句号。
似乎应该有一个简单的方法来做到这一点,但我就是找不到!
如果您需要任何进一步的信息,请告诉我。
非常感谢。
解决方案
如果我理解得很好,这是我现在能想到的最好方法,使用这个问题的答案T-SQL Split Word into characters
with cte as (
select
substring(a.b, v.number+1, 1) as col
,rn = ROW_NUMBER() over (order by (select 0))
from (select 'DOG' b) a
join master..spt_values v
on v.number < len(a.b)
where v.type = 'P'
)
select distinct
STUFF((SELECT '.' + col FROM cte order by rn FOR XML PATH('')),1,1,'') as col
from cte
推荐阅读
- reactjs - 更新状态 ReactJS 中的对象
- javascript - 单击事件不是从 reactjs 中的 select onchange 事件触发的
- react-native - Redux 操作已触发但无法导航(React-Navigation)
- mysql - 现有事务中的 Entity Framework Core 手动 sql 查询
- javascript - 为指令定义参数类型
- c# - TCP 客户端停止直到被服务器断开
- javascript - 当我删除地图中的对象时出现问题。我需要调用函数 3 次
- python - Wikipedia Dump xml文件在python中转换为文本
- python - NumPy 有像 Pandas 一样的 select_dtypes 吗?
- database - 我应该为每张专辑制作单独的表格吗?