2017-08-15 99 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 
; 
相關問題