我想知道SQL Server 2005中是否有一种简单有效的方法可以消除字符串中的重复字符。喜欢转换

'ABBBCDEEFFFFG' to 'ABCDEFG'

SQL Server拥有如此糟糕的字符串库,没有现成的Regexp功能...真的很糟糕。

没有正确的解决方案

其他提示

您可以使用SQL Server 2005/2008中内置的CLR功能来通过.NET代码完成此操作。

MSDN杂志在他们的 2007年2月 问题。

如果这不是可接受的解决方案, 这里 是一个可以做同样的UDF,请注意,这比CLR解决方案慢两个级级。

YMMV。这似乎适用于您上面的字符串。但不是 ABBBCDEEBBBBG

DECLARE @Numbers TABLE (Num smallint NOT NULL PRIMARY KEY)

INSERT @Numbers (Num)
SELECT TOP 8000
    ROW_NUMBER() OVER (ORDER BY c1.NAME)
FROM
    sys.columns c1

DECLARE @STuff TABLE (Seq varchar(100) NOT NULL PRIMARY KEY)

INSERT @STuff (Seq) VALUES ('ABBBCDEEFFFFG') --works

SELECT
    Single
FROM
    (
    SELECT DISTINCT
        CAST(Single AS varchar(100))
    FROM
       @Numbers N
       CROSS APPLY 
       (SELECT Seq, SUBSTRING(Seq, Num, 1) AS Single FROM @Stuff) S
    WHERE
       Num <= LEN(Seq)
    FOR XML PATH ('')
    ) foo(Single)

SharePoint在UTC格式中存储日期。 我认为您的问题可能与此相关:

getFieldValueastext方法要求日期和时间值 在UTC格式,而大多数SharePoint基础方法返回 列表数据在本地时间返回值。因此,当 对列表数据执行查询,您需要将时间值转换为 获得预期的结果。要在UTC日期和时间返回项目,请使用 spQuery对象并将DatesInutc属性设置为True

SPQuery query = new SPQuery();
query.DatesInUtc = true;
SPListItemCollection listItems = list.GetItems(query);
.

在这里查看: http://msdn.microsoft.com/zh-US / Library / MS442266.aspx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top