SQL Server会获得带有后缀名称的表的名称,直到前一天

时间:2018-11-27 03:15:52

标签: sql sql-server sql-server-2008

我使用此sql来获取具有后缀名称的表的名称,直到前一天:

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不好,有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

您的代码很好,但这只是另一个选择

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