SQL Server:合并,字符串的一部分丢失

塔拉斯·维克(Taras Vykh)

我有以下代码:

declare @results varchar(500)

select 
    @results = coalesce(@results+', ', '') + convert(varchar(12),k.t1)
from
(
    select 
        '('+cast(count(distinct(g.RoomID)) as varchar) + ') '+ rt.ClassName as t1
    from 
        db_pms.Guests g
        left join db_pms.RoomTypes rt 
            on rt.RoomTypeID=g.RoomTypeID
    where 
        g.GroupID = 47 and 
        g.Status >= 0
    group by 
        g.RoomTypeID,
        rt.ClassName
) k

select @results as results

那个部分

select 
    '('+ cast(count(distinct(g.RoomID))as varchar) + ') '+ rt.ClassName as t1
from 
    db_pms.Guests g
    left join db_pms.RoomTypes rt 
        on rt.RoomTypeID=g.RoomTypeID
where
    g.GroupID = 47 and 
    g.Status >= 0
group by 
    g.RoomTypeID,
    rt.ClassName

退货

(1) Люкс
(4) Полулюкс
(2) Стандарт DBL
(6) Стандарт TWN
(1) Стандарт+ TWN

和使用后

select @results = coalesce(@results + ', ', '') +  convert(varchar(12),k.t1)

我懂了

(1) Люкс
(4) Полулюкс
(2) Стандарт
(6) Стандарт
(1) Стандарт

如您所见,字符串列的一部分丢失了。我该如何解决?

斯科特'scm6079'

varchar(12)是太小,无法容纳你的结果,由于做MySQL(和SQL Server)计数长度VARCHAR。例如,运行以下查询:

SELECT LENGTH( 'Стандарт TWN' )

会给你20的长度!您需要增加长度,您会没事的。

SQL Fiddle显示结果:http ://sqlfiddle.com/#!9/9eecb7d/5661/0

在SQL Server中,您可能还希望考虑使用nvarchar。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

SQL Server仅选择字符串的一部分

在SQL Server中,如何比较字符串的一部分?

SQL查找替换字符作为字符串的一部分

如何获取与SQL Server中的正则表达式匹配的字符串的一部分

SQL Server:查找并替换在字符串中多次出现的字符串特定部分的一部分

在SQL中查找和替换或删除字符串的一部分

sql仅在字符串的一部分中搜索

SQL 更新字符串的一部分

仅使用SQL拉取字符串的一部分

Transact SQL替换字符串的一部分

在SQL中提取字符串的一部分

更新列MS SQL中的一部分字符串

SQL查询以显示列中一部分字符串值

T-SQL:提取字符串的一部分

如何在SQL中将NULL连接为字符串的一部分

Oracle SQL-选择字符串的一部分

从对象类型列SQL中选择字符串的一部分

SQL Server按字符串的一部分排序

在特定字符串保留部分字符串以在 SQL 中替换后,如何仅替换字符串的一部分?

在 SQL 中的兩個字符之間拉取字符串的一部分,以及提取部分周圍的字符串部分

正则表达式修剪字符串sql的一部分

如何选择包含特定子字符串的单词列表作为 SQL 查询 (oracle) 的一部分?

SQL-查询以查找字符串是否包含Column中值的一部分

SQL:从SELECT语句返回的所有条目中删除字符串的一部分

使用T-SQL检索具有许多方案的字符串的一部分

如何使用MS SQL仅找到带括号的字符串的最后一部分

如何从SQL字符串Base64中提取JSON字符串的一部分

如何将 Python 字符串变量添加到 Python 中的 SQL 字符串变量的一部分?

SQL-用字符串的一部分排序