使用SQL查询拆分字段

用户名

我有一个表,其中“注释”字段的字符数不超过100个。我想将此字段分为20个字符,然后在每20个字符后添加一个定界符。该字段中的文本没有任何可使用的定界符。我可以使用子字符串在前20个字母中执行此操作,但对于其余字符则不行。有人可以建议执行此操作的SQL查询吗?

非常感谢 :)

尝试使用用户定义的功能

CREATE FUNCTION dbo.SplitBy(
@String varchar(max),
@Delimiter char(1)
)
returns varchar(max)
as     
begin

declare @fldSize int
    set @fldSize = 20
declare @TotalCnt int
    set @TotalCnt = len(@String)
declare @c int
    set @c = 1

declare @TS varchar(max)
    set @TS = ''

if @TotalCnt > @fldSize begin

    set @TS = substring(@String, @c, @fldSize)
    set @c = @c + @fldSize

    while @c < @TotalCnt begin
        set @TS = @TS + @Delimiter + substring(@String, @c, @fldSize)
        set @c = @c + @fldSize
    end
    if @c = @TotalCnt begin
    set @TS =  @TS + @Delimiter + substring(@String, @c, @TotalCnt-(@c-1))
    end
    return @TS
end

return @String  
end

用法

update [YourTable] set fldToDelimit = dbo.SplitBy(fldToDelimit, '|')

希望这能帮助您!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用fputcsv拆分SQL查询的导出

来自分类Dev

在查询中拆分 XML 字段

来自分类Dev

SQL查询-拆分行

来自分类Dev

SQL查询-拆分行

来自分类Dev

从PHP使用数组字段进行SQL查询

来自分类Dev

使用sql查询隐藏列字段

来自分类Dev

如何使用sql查询动态分组和拆分列?

来自分类Dev

在不拆分行的聚合 sql 查询中使用 case

来自分类Dev

我们可以在用于加入配置单元查询的字段上使用拆分功能吗

来自分类Dev

如何使用SQL查询计算拼写错误的字段?

来自分类Dev

使用CASE和GROUP BY的SQL Server查询,字段无效?

来自分类Dev

使用SQL在查询中引用表单上的字段

来自分类Dev

使用原始SQL查询Odoo多对多字段

来自分类Dev

字段不固定时使用数据透视的SQL查询

来自分类Dev

如何使用SQL查询删除相同的表字段

来自分类Dev

使用CASE和GROUP BY的SQL Server查询,字段无效?

来自分类Dev

使用SQL在查询中引用表单上的字段

来自分类Dev

SQL:使用其他字段的值查询列名

来自分类Dev

使用 SQL 查询数据库表中的 XML 字段

来自分类Dev

使用“ AS”字段的条件查询

来自分类Dev

使用谓词查询字段

来自分类Dev

将 SQL 查询拆分为嵌套查询(子查询)

来自分类Dev

SQL IN 查询性能 - 更好地拆分或不拆分

来自分类Dev

PHP vs SQL查询拆分行

来自分类Dev

在 Access SQL 查询中将 STRING 拆分为 OR

来自分类Dev

SQL查询的私有字段

来自分类Dev

SQL查询多字段值

来自分类Dev

SQL查询总和计算字段

来自分类Dev

显示查询字段明智的SQL