sp_helpdb在db_size列中返回类似'50000.255 MB'的字符串。
这些字符串依赖于文化;上面的字符串在美国和德国意味着两种不同的东西(在后者中,点字符用作组分隔符,类似于美国的逗号)。
是否有另一种方法可以返回一个与文化无关的数值?
答案 0 :(得分:1)
我认为不可能。 SP sp_helpdb使用str将数字大小转换为varchar
,文档(我可以找到)中没有任何内容可以使str
使用,
而不是.
作为十进制符号。使用set language无济于事。
马丁在评论
中建议的解决方法select replace(str(sum(convert(dec(17,2),size)) / 128,10,2) +' MB', '.', ',')
from sys.database_files
答案 1 :(得分:1)
Use YourDB;
SELECT SUM(Size / 128.0) As FileSize from sys.database_files;
这将以MB为单位返回MB大小,你可以从那里用它做你喜欢的事。
注意:size返回给定数据库文件中8KB页面的数量。