SQL服务器获取table前天后缀名的名字

SQL Server gets the name of table with the suffix name until the day before yesterday

我用这个sql得到table后缀名直到前天的名字:

select name from sys.objects where type='u'
and name like '%T_MYDATE_%'  
and name not like 'T_MYDATE_'+CONVERT(varchar(100), GETDATE()-1, 112)   
and name not like 'T_MYDATE_'+CONVERT(varchar(100), GETDATE(), 112)  

输出是这样的:

name
---------------
……
T_MYDATE_20181120
T_MYDATE_20181121
T_MYDATE_20181122
T_MYDATE_20181123
T_MYDATE_20181124
T_MYDATE_20181125

我觉得sql不好,有更好的办法吗?

您的代码没问题,但这里只是另一种选择

 ...
 Where type='u'
   and name like '%T_MYDATE_%'  
   and right(Name,8)<convert(varchar(8),GetDate()-1,112)