我正在使用SQL Server,我已经成功地将表的行转换为逗号分隔的值,现在我想将该字符串的逗号分隔值转换回表的行。
我有这个字串(Varchar
)
DECLARE @str AS varchar(Max)
SET @str = '0.00,0.00,1576.95,0.00,4105.88,1017.87,0.00,6700.70'
我希望这些值成行。
喜欢
0.00
0.00
1576
...
创建一个函数:
CREATE FUNCTION [dbo].[Split](@String nvarchar(4000), @Delimiter char(1))
RETURNS @Results TABLE (Items nvarchar(4000))
AS
BEGIN
DECLARE @Index INT
DECLARE @Slice nvarchar(4000)
-- HAVE TO SET TO 1 SO IT DOESN鈥橳 EQUAL ZERO FIRST TIME IN LOOP
SELECT @Index = 1
WHILE @Index !=0
BEGIN
SELECT @Index = CHARINDEX(@Delimiter,@String) --Getting the indexof the first Occurrence of the delimiter
-- Saving everything to the left of the delimiter to the variable SLICE
IF @Index !=0
SELECT @Slice = LEFT(@String,@Index - 1)
ELSE
SELECT @Slice = @String
-- Inserting the value of Slice into the Results SET
INSERT INTO @Results(Items) VALUES(@Slice)
--Remove the Slice value from Main String
SELECT @String = RIGHT(@String,LEN(@String) - @Index)
-- Break if Main String is empty
IF LEN(@String) = 0 BREAK
END
RETURN
END
将字符串@str
和定界符(,)传递给函数。
SELECT Items FROM [dbo].[Split] (@str, ',')
它将结果返回为表格:
Items
0.00
0.00
1576.95
0.00
4105.88
1017.87
0.00
6700.70
请参见 SQL Fiddle
问题内容: 我有一个像 我想把它分成那些字符串 如果我简单地打电话给我,那么在修剪之后我会得到不同的结果,因为在某些字符串中,例如,仍然有一个逗号。但我不想放在方括号中。有解决这个问题的优雅方法吗? 问题答案: 假设和没有嵌套和未转义。您可以使用以下方式进行拆分: 正则演示 如果逗号后面没有非圆括号和,则将匹配逗号,从而忽略和中的逗号。
本文向大家介绍在Java中将字符串列表转换为逗号分隔的字符串,包括了在Java中将字符串列表转换为逗号分隔的字符串的使用技巧和注意事项,需要的朋友参考一下 首先,让我们说以下是我们的String列表- 现在,使用String.join()将其转换为逗号分隔的字符串 示例 以下是在Java中将字符串列表转换为逗号分隔的字符串的程序- 输出结果
问题内容: 您可以使用RegEx将逗号分隔的字符串解析为MySQL中的临时表吗? 问题答案: 这个问题与Mysql可以拆分列差不多吗? MySQL没有拆分字符串函数,因此您必须解决。使用上面答案页中列出的方法之一分割数据后,您就可以对数据进行任何处理。 您可以遍历该自定义函数,并在返回空值时中断它,您必须播放并学习一些语法(或者至少是我愿意),但是mysql中FOR循环的语法是: http://w
问题内容: 我有一个像这样的字符串: 上面的字符串应分为: 问题答案: 我认为最简单的解决方案是处理输入字符串char-by-char: 例: 作为免费赠品,此解决方案还根据需要计算嵌套括号: 它还检查括号是否平衡(每个开放的括号都有相应的结束符)。
问题内容: 我的数据库中有一个表,如下所示: 我需要创建一个SELECT语句,该语句在’mgroup_others’逗号分隔列表中指定整数的位置选择所有成员。因此,例如,我编写了一条SQL语句,该语句将选择’mgroup_others’包含‘10’的所有成员,并且它将返回成员1、2和3但不返回成员4,因为10不在该字段中。任何帮助将不胜感激!谢谢。我也是用PHP编写的。 问题答案: 由于是列,如果
问题内容: 这是当前结果,可以每天更改 我需要帮助的是在下面实现此结果。 问题答案: 使用: