当前位置:网站首页 > R语言数据分析 > 正文

list转换为string(list转换为str)



适用于:SQL Server 2016 (13.x) 及更高版本 Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Microsoft Fabric 中的 SQL 分析终结点 Microsoft Fabric 中的仓库

一个表值函数,它根据指定的分隔符将字符串拆分为子字符串行。

兼容性级别为 130

要求兼容性级别至少为 130。 该级别低于 130 时,数据库引擎将找不到 函数。

若要更改数据库的兼容性级别,请参阅查看或更改数据库的兼容性级别。

Transact-SQL 语法约定

 

string

任何字符类型(例如 nvarcharvarcharncharchar)的表达式。

separator

任何字符类型(例如nvarchar(1)varchar(1)nchar(1)char(1))的单字符表达式,用作串联子字符串的分隔符。

enable_ordinal

适用于:Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics(仅限无服务器 SQL 池)、SQL Server 2022 (16.x) 及更高版本

一个 int 或 bit 表达式,用作启用或禁用 输出列的标志。 如果值为 ,则启用 列。 如果省略 enable_ordinal 、为 或值为 ,则禁用 列。

如果未启用 输出列, 将返回一个单列表,其中的行为子字符串。 列的名称为 。 如果任何输入参数为 nvarchar 或 nchar,则它返回 nvarchar 。 否则,将返回 varchar。 返回类型的长度与字符串参数的长度相同。

如果 enable_ordinal 参数传递的值为 ,则返回第二个名为 的列,其中包含每个子字符串在输入字符串中的位置(从 1 开始的索引值)。 返回类型为 bigint。

输入一个包含分隔子字符串的字符串,并输入一个字符用作分隔符。 根据需要,函数还支持值为 或 的第三个参数,该参数分别禁用或启用了 输出列。

输出一个单列表或双列表,具体取决于 enable_ordinal 参数。

  • 如果 enable_ordinal 为 、被省略或值为 , 将返回一个单列表,其中的行包含子字符串。 输出列的名称为 。
  • 如果 enable_ordinal 的值为 ,该函数将返回一个包含两列的表,其中 列由原始输入字符串中从 1 开始的子字符串的索引值组成。

请注意,enable_ordinal 参数必须是常数值,而不能是列或变量。 它还必须是值为 或 的 bitint 数据类型。 否则,此函数将引发错误。

输出行可以按任意顺序排列。 顺序保证与输入字符串中的子字符串顺序匹配。 可以通过使用 子句(在 语句中)覆盖最终排序顺序,例如 或 。

(char(0)) 是 Windows 排序规则中未定义的字符,无法包括在 中。

当输入字符串包含两个或多个连续出现的分隔符字符时,将出现长度为零的空子字符串。 空子字符串的处理方式与普通子字符串相同。 可以通过使用 子句筛选出包含空的子字符串的任何行,例如 。 如果输入字符串为 ,则 表值函数返回一个空表。

例如,以下 语句使用空格字符作为分隔符:

 

在实践运行中,前面的 返回以下结果表:

value

下面的示例通过为可选的第三个参数传递 来启用 列:

 

然后,此语句将返回以下结果表:

value 序号 1 2 3 4 5

分析逗号分隔值列表,并返回所有非空标记:

 

如果分隔符之间没有任何内容, 将返回空字符串。 条件将删除空令牌。

生产表中的某一列为逗号分隔的标记列表,如以下示例所示:

ProductId 名称 标记

下面的查询转换每个标记列表,并将它们与原始行联接起来:

 

结果集如下。

ProductId 名称 值

用户必须创建一个报表,表中显示每个标记的产品数量并按产品数量排序,然后只筛选出产品数量在两个以上的标记。

 

开发人员必须创建按关键字查找文章的查询。 可以使用以下查询:

查找具有单个标记 (clothing) 的产品:

 

查找具有两个指定标记(clothing 和 road)的产品:

 

开发人员必须创建一个按 ID 列表查找文章的查询。 可以使用以下查询:

 

上述 使用情况是常见反模式的替代。 此类反模式可能涉及在应用程序层或 Transact-SQL 中创建动态 SQL 字符串。 或者可以通过使用 运算符来实现反模式。 请参阅以下示例 语句:

 

以下语句将查找具有偶数索引值的所有行:

 

上述语句返回以下表:

value 序号 Texas 2 Washington 4 Colorado 6

下面的语句返回输入字符串的拆分子字符串值及其序号值,按 列排序:

 

上述语句返回以下表:

value 序号 A 5 B 4 C 3 D 2 E 1
  • LEFT (Transact-SQL)
  • LTRIM (Transact-SQL)
  • RIGHT (Transact-SQL)
  • RTRIM (Transact-SQL)
  • SUBSTRING (Transact-SQL)
  • TRIM (Transact-SQL)
  • 字符串函数 (Transact-SQL)
到此这篇list转换为string(list转换为str)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • tornado siren翻译(torn to oblivion翻译)2025-03-17 11:36:08
  • ueditor官网(ueditor最新版本)2025-03-17 11:36:08
  • docker 版本号(docker版本控制)2025-03-17 11:36:08
  • tornadoes翻译(tornadoes翻译成英语)2025-03-17 11:36:08
  • 文件的权限是-rwxr(文件的权限是rwxr-xr-x)2025-03-17 11:36:08
  • bigboss源没有mobilesubstrate依赖(bigboss源空白解决办法)2025-03-17 11:36:08
  • airplay投屏电视(airplay投屏电视如何满屏)2025-03-17 11:36:08
  • store汉语(store汉语谐音)2025-03-17 11:36:08
  • aurochs(aurochs是旧单词吗)2025-03-17 11:36:08
  • crt连接华为交换机console口(华为交换机com口连接)2025-03-17 11:36:08
  • 全屏图片