2017-08-15 96 views
-1

我有一个服务器内的数据库如下,我想要一个名称的数据库S01_%,其中%是最新的日期(最后一部分是时间)。如何在服务器中检索数据库的名称?

enter image description here

bd_names()返回当前数据库的名称...

+0

[SQL Server查询发现目前所有的数据库名称(可能的重复https://stackoverflow.com/questions/873393/sql-server-query-to-find-all-current-database-names ) –

回答

1

使用sys.databases列出所有的数据库:

SELECT TOP 1 *, REPLACE(name, 'S01_', '') AS d 
FROM sys.databases 
WHERE name LIKE 'S01_%' 
ORDER BY d DESC; 

获取日期部分,你将不得不解析数据库名称。

1

您可以用order by name desc查询sys.databases并使用top 1 caluse。

SELECT top 1 name 
FROM sys.databases 
WHERE name LIKE 'S01_%' 
order by name desc 
; 
相关问题