我需要从此表中删除超过 30 天的记录。
我们在这个表中只有 2 列。“Printed_%”之后的第一个日期是我将用来确定是否应删除记录的日期。请注意,有些日期采用 MM/DD/YYYY 格式,而有些则以 M/D/YYYY 格式出现在字符串中。如何提取日期以便确定哪些行超过 30 天?
ID Command
123232 Printed_9/6/2017 2:36:09 PM W;03;2K;8/6/2013;8/6/2015;ODSI3498
123233 Printed_9/6/2017 2:53:20 PM W;07;2K;8/6/2013;8/6/2015;PWEOIR123
123234 Printed_9/6/2017 2:54:44 PM W;15;2K;11/9/2011;11/18/2005;PWEOIR123
123235 Printed_10/21/2016 10:21:10 AM W;15;2K;11/9/2011;11/18/2005;ODSI3498
123236 Printed_11/15/2015 10:30:13 AM W;02;2K;8/7/2013;8/7/2014;ODSI3498
123237 Printed_12/7/2014 10:30:26 AM W;21;2K;7/30/2013;7/30/2014;ODSI3498
由于您使用的是 2012+,您可能希望使用
TRY_CONVERT
以防万一遇到任何奇怪/格式错误的日期。您可以避免前 9 个字符 (Printed_) 并删除最后 2 个字符,直到第一个 ';'
dbfiddle在这里