Abs*_*Abs 9 t-sql sql-server sql-server-2005
我试图从任何数据库获取没有文件名的路径.到目前为止我有这个:
declare @db_name varchar (50)
SELECT @db_name = physical_name FROM sys.master_files WHERE database_id = DB_ID(N'master') AND type_desc = 'ROWS'
set @db_name = REVERSE(RIGHT(REVERSE(@db_name),(LEN(@db_name)-CHARINDEX('\', REVERSE(@db_name),1))+1))
print @db_name
Run Code Online (Sandbox Code Playgroud)
当我检查我的普通数据库但是当我在master数据库上尝试它时,它可以工作.我明白了:
C:\ Program Files\Microsoft SQL Server \
但是,正确的路径是:
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\
Run Code Online (Sandbox Code Playgroud)
为什么错过了剩下的路径?
谢谢大家帮忙吗?
您的变量数据类型太小.
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ 是72个字符.
尝试 declare @db_name varchar (200)
| 归档时间: |
|
| 查看次数: |
31898 次 |
| 最近记录: |