0

我需要在我的应用程序的函数调用中从文本字符串中修剪日期。

字符串出来了text//date,我想用空格修剪或替换日期。列名是overall_model,值是ford//1911or chevy//2011,但我需要删除日期部分,这样我就可以遍历数组或列表来获得所有模型的准确计数。

问题是,如果有 achevy//2011和 a chevy//2010,由于日期的原因,我会在表中返回两行。因此,如果我可以删除日期并循环它们,我可以获得雪佛兰的结果,有 23 个雪佛兰模型。

4

1 回答 1

2

我有一段时间没有使用 Sybase,但我记得它的字符串函数与 MS SQL Server 非常相似。

如果overall_model总是包含“//”,则用于charindex返回分隔符的位置并substring检索它之前的“文本”。然后将其与 COUNT 结合起来。(如果“//”并不总是存在,您还需要添加一个CASE语句)。

   SELECT SUBSTRING(overall_model, 1, CHARINDEX('/', overall_model)-1) AS Model
          , COUNT(*) AS NumberOfRecords
   FROM  YourTable
   GROUP BY SUBSTRING(overall_model, 1, CHARINDEX('/', overall_model)-1)

但是,理想情况下,“文本”和“日期”应该分开存储。这将提供更大的灵活性和更好的性能。

于 2012-07-15T21:01:15.850 回答