为什么SQL Server以小写形式返回数据库名称?
我在SQL Server中有一个存储过程,我使用db_name()获取数据库的名称,然后将其放入xml字符串中,如下所示(缩写版本)。当我运行我的应用程序时,SiteID似乎是数据库名称的小写版本,这会在以后给我带来问题。所以SiteID是abc123而不是abc123,就像我在SSMS中看到的那样。当我执行特别查询以选择db_name()时,它显示为ABC123。有人知道为什么会这样吗?或者如果我错误地认为是db_name()进行小写转换为什么SQL Server以小写形式返回数据库名称?,sql,sql-server,Sql,Sql Server,我在SQL Server中有一个存储过程,我使用db_name()获取数据库的名称,然后将其放入xml字符串中,如下所示(缩写版本)。当我运行我的应用程序时,SiteID似乎是数据库名称的小写版本,这会在以后给我带来问题。所以SiteID是abc123而不是abc123,就像我在SSMS中看到的那样。当我执行特别查询以选择db_name()时,它显示为ABC123。有人知道为什么会这样吗?或者如果我错误地认为是db_name()进行小写转换 select db_name() SiteID,
select
db_name() SiteID,
@audit_id audit_id
for xml path ('ChangeRequest')
db_name()
应直接从应用程序或SSM返回相同的值。。扩展一下,完整查询的结果(包括xml的
)也应该是相同的。我可能错了,可能是在其他地方将其小写了。只是找不到连接字符串如何使用ABC123(或abc134)作为默认目录/DB?我怀疑这一点(因为使用casingherountaffectdbname
),但..取决于服务器排序规则。。。通常设置为不区分大小写,但不确定您所说的是哪个连接字符串。在master.dbo.sysdatabases中,它显示为ABC123。此数据库的排序规则与我没有遇到此问题的其他数据库相同-SQL\u Latin1\u General\u CP1\u CI\u as