我使用此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不好,有更好的方法吗?
答案 0 :(得分:2)
您的代码很好,但这只是另一个选择
...
Where type='u'
and name like '%T_MYDATE_%'
and right(Name,8)<convert(varchar(8),GetDate()-1,112)