当前位置: 首页 > 面试题库 >

T-SQL分割字串

曾高杰
2023-03-14
问题内容

我有一个SQL Server 2008
R2列,其中包含一个字符串,需要用逗号分隔。我在StackOverflow上看到了很多答案,但是它们都无法在R2中使用。我确保我对任何拆分函数示例都具有选择权限。任何帮助,不胜感激。


问题答案:

我曾经使用过此SQL,可能对您有用:-

CREATE FUNCTION dbo.splitstring ( @stringToSplit VARCHAR(MAX) )
RETURNS
 @returnList TABLE ([Name] [nvarchar] (500))
AS
BEGIN

 DECLARE @name NVARCHAR(255)
 DECLARE @pos INT

 WHILE CHARINDEX(',', @stringToSplit) > 0
 BEGIN
  SELECT @pos  = CHARINDEX(',', @stringToSplit)  
  SELECT @name = SUBSTRING(@stringToSplit, 1, @pos-1)

  INSERT INTO @returnList 
  SELECT @name

  SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos+1, LEN(@stringToSplit)-@pos)
 END

 INSERT INTO @returnList
 SELECT @stringToSplit

 RETURN
END

并使用它:

SELECT * FROM dbo.splitstring('91,12,65,78,56,789')


 类似资料:
  • 问题内容: 我有以下输入: 预期产量: 如何分割字符串以产生所需的输出? 问题答案:

  • 在 T-SQL 中字符串函数应用于字符串值并返回数字数据或字符串值。 下面借助示例给出字符串函数的类型: ASCII()函数 ASCII 码值作为字符表达式的输出。 下面ASCII ()查询将给出字符的 ASCII 值。 输出结果如下 - CHAR()函数 CHAR()函数将字符将像 ASCII 代码或整数的输出一样出现。下面的查询生成整数的字符 - NCHAR()函数 使用 NCHAR(),任何

  • 问题内容: 我有一个字符串如下: 我想提取数字:872226816,因此在这种情况下,我假设在第二个逗号开始读取数据之后,随后的逗号结束数据读取。 输出示例: 问题答案: 用于String.split()的 Javadoc

  • 主要内容:语法在 T-SQL 中,DISTINCT 关键字与 SELECT 语句一起使用以消除重复记录并仅给出唯一记录值。 下面是表中有很多重复记录的情况。当我们获取记录时,只用唯一的记录值代替重复的记录值更有意义。 语法 DISTINCT 关键字的语法如下: 例子: EMPLOYEES 表中有以下记录: 下面来看看 SELECT 查询如何返回重复的工资记录。 执行上面查询语句,得到以下结果 - 注意:此命令生

  • 在 Transact SQL 中,GROUP BY 子句用于将数据分组。它后面跟着 WHERE 子句进入查询中的 SELECT 语句。它具有聚合函数(MAX、MIN、AVG、SUM 和 COUNT)以按一列或多列对结果进行分组。 GROUP By Clause 的语法如下: GROUP BY 子句遵循 WHERE 子句中的条件并引入 ORDER BY 子句。 例子: 假设 CUSTOMERS 表具

  • 问题内容: 每当出现“”时,我都尝试拆分字符串,例如语句test abc。然后,将每个单词中的第一个字母从头到尾移动。我将字母移动到使用原始字符串 所以我的问题是,我将如何分割字符串,然后开始在分割字符串的每个部分中移动字母? 问题答案: 您不必为此进行-transform-join;一步就能做到。 正则表达式基本上分为3组: 那么,作为替换字符串使它明显和清晰,切换和周围。 因此,应该清楚的是,