我想找到表达式的最新实例,然后继续寻找更好的匹配,然后选择最佳匹配。
我正在查看的单元格是一个重复附加的日志,带有注释,后跟用户名和时间戳。
示例单元格内容:
Starting the investigation.
JWAYNE entered the notes above on 08/12/1976 12:01
Taking over the case. Not a lot of progress recently.
CEASTWOOD entered the notes above on 03/14/2001 09:04
No wonder this case is not progressing, the whole town is covering up some shenanigans!
CEASTWOOD entered the notes above on 03/21/2001 05:23
Star command was right, this investigation has been tossed around like a hot potato for a long time!
BLIGHTYEAR entered the notes above on 08/29/2659 08:01
我不是数据库范式规则方面的专家,但令人讨厌的是条目被挤在一个单元格中,这使得我的工作是隔离和检查特定单词的注释,特别是当单元格重复多行直到调查结束时它将来自未来阶段的注释放入过去事件的注释列中,最重要的是时间戳使时间戳 PATINDEX 甚至几分钟的余量都不可靠,如下所示:
CaseID, Username, Notes, Phase, Timestamp
E18902, JWAYNE, Starting....08:01, E1, 03/14/2001 09:13
E18902, CEASTWOOD, Starting....08:01, E2, 03/14/2001 09:13
E18902, CEASTWOOD, Starting....08:01, E3, 03/21/2001 05:34
E18902, BLIGHTYEAR,Starting....08:01, E4, 08/29/2659 07:58
现在我正在对整个字符串进行反向操作,然后使用 patindex 来查找用户名,然后进行子字符串化以仅选择该调查阶段的注释,问题是当同一个用户为多个阶段输入注释时,我的简单“查找盯着字符串末尾移动到顶部的第一个匹配项”选择了错误的条目。我的第一个想法是搜索用户名,然后再次检查以查看更靠前的条目是否更匹配(注意时间戳与列时间戳),但我不知道如何编写代码......
我必须进行复杂的字符串拆分还是有更简单的解决方案?