我需要在我的应用程序的函数调用中修剪文本字符串中的日期。
字符串以text//date
形式出现,我想用空格修剪或替换日期。列名称为overall_model
,值为ford//1911
或chevy//2011
,但我需要删除日期部分,以便我可以遍历数组或列表以获得所有模型的准确计数
问题是,如果有chevy//2011
和chevy//2010
,由于日期的原因,我会在表格中返回两行。因此,如果我可以删除日期并循环显示它们,我可以得到我的雪佛兰有23种雪佛兰模型的结果。
答案 0 :(得分: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)
但是,理想情况下,“文本”和“日期”应分开存储。这将提供更大的灵活性和通常更好的性能。