标签: sql-server

如何查询SQL Server XML列中的值

我跟踪存储在RolesSQL Server数据库中的XML列(称为)中的XML .

<root>
   <role>Alpha</role>
   <role>Beta</role>
   <role>Gamma</role>
</root>
Run Code Online (Sandbox Code Playgroud)

我想列出在其中具有特定角色的所有行.此角色由参数传递.

xml sql sql-server xquery

122
推荐指数
5
解决办法
40万
查看次数

GUID冲突可能吗?

我正在使用SQL Server 2000中的一个数据库,该数据库为每个使用它所绑定的应用程序的用户使用GUID.不知何故,两个用户最终得到了相同的GUID.我知道微软使用一种算法来生成一个随机GUID,这个GUID极有可能导致碰撞,但是碰撞仍然可能吗?

sql-server guid

121
推荐指数
12
解决办法
7万
查看次数

如何在T-SQL中使用变量作为数据库名称?

我在我的脚本中的几个地方使用数据库名称,我希望能够快速更改它,所以我正在寻找这样的东西:

DECLARE @DBNAME VARCHAR(50)
SET @DBNAME = 'TEST'

CREATE DATABASE @DBNAME
GO
ALTER DATABASE @DBNAME SET COMPATIBILITY_LEVEL = 90
GO
ALTER DATABASE @DBNAME SET RECOVERY SIMPLE 
GO
Run Code Online (Sandbox Code Playgroud)

但它不起作用.那么编写这段代码的正确方法是什么?

sql-server

121
推荐指数
4
解决办法
19万
查看次数

TSQL Pivot没有聚合函数

我有一张这样的桌子......

CustomerID   DBColumnName   Data
--------------------------------------
1            FirstName      Joe
1            MiddleName     S
1            LastName       Smith
1            Date           12/12/2009
2            FirstName      Sam
2            MiddleName     S
2            LastName       Freddrick
2            Date           1/12/2009
3            FirstName      Jaime
3            MiddleName     S
3            LastName       Carol
3            Date           12/1/2009
Run Code Online (Sandbox Code Playgroud)

我想要这个......

这可能使用PIVOT吗?

CustomerID  FirstName   MiddleName          LastName        Date
----------------------------------------------------------------------
1           Joe             S               Smith           12/12/2009
2           Sam             S               Freddrick       1/12/2009
3           Jaime           S               Carol           12/1/2009
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server pivot pivot-without-aggregate

121
推荐指数
6
解决办法
17万
查看次数

SQL Server:将UniqueIdentifier转换为case语句中的字符串

我们有一个日志表,其中有一个消息列,有时会有一个异常堆栈跟踪.我有一些标准来确定消息是否具有此功能.我们不希望向客户显示这些消息,而是发出如下消息:

内部错误发生.请与我们联系,参考代码为xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

其中xxx等是表中的guid列.我正在写这样的存储过程:

declare @exceptionCriteria nvarchar(50)
select @exceptionCriteria = '%<enter criteria etc>%'

select LogDate,
       case
       when Message like @exceptionCriteria
       then 'Internal Error Occured. Reference Code: ' + str(RequestID)
       else Message
       end
  from UpdateQueue
Run Code Online (Sandbox Code Playgroud)

RequestID是SQL Server中的Guid数据类型,在此处不转换为字符串.我已经看到了一些关于如何将Guid转换为字符串的代码,但它是多行的,我不认为它会在case语句中起作用.有任何想法吗?

sql-server guid case

121
推荐指数
4
解决办法
24万
查看次数

插入INTO与SELECT INTO

使用之间有什么区别

SELECT ... INTO MyTable FROM...
Run Code Online (Sandbox Code Playgroud)

INSERT INTO MyTable (...)
SELECT ... FROM ....
Run Code Online (Sandbox Code Playgroud)

从BOL [ INSERT,SELECT ... INTO ],我知道使用SELECT ... INTO将在默认文件组上创建插入表(如果它尚不存在),并且此语句的日志记录取决于恢复数据库的模型.

  1. 哪种说法更可取?
  2. 还有其他性能影响吗?
  3. SELECT ... INTO over INSERT INTO ...的一个很好的用例是什么?

编辑:我已经声明我知道SELECT INTO ...创建一个不存在的表.我想知道的是SQL包含这个语句是有原因的,它是什么?它是在幕后插入行做的不同的事情,还是只是在a CREATE TABLEINSERT INTO.之上的语法糖.

t-sql sql-server sql-server-2008

121
推荐指数
6
解决办法
11万
查看次数

T-SQL拆分字符串

我有一个SQL Server 2008 R2列包含一个字符串,我需要用逗号分隔.我在StackOverflow上看到了很多答案,但它们都不适用于R2.我确保我对任何拆分函数示例都有选择权限.任何帮助非常感谢.

sql t-sql sql-server split sql-server-2008

121
推荐指数
8
解决办法
36万
查看次数

如何使用Microsoft SQL Server实现LIMIT?

我有这个查询与mysql:

select * from table1 LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)

我怎么能用Microsoft sql做到这一点?

sql sql-server migration

120
推荐指数
9
解决办法
27万
查看次数

SQL"选择不在子查询中的位置"不返回任何结果

免责声明:我已经找到了问题(我认为),但我想将此问题添加到Stack Overflow,因为我无法(轻松)在任何地方找到它.此外,有人可能会比我更好的答案.

我有一个数据库,其中一个表"Common"被其他几个表引用.我想看看Common表中的哪些记录是孤立的(即没有来自任何其他表的引用).

我运行了这个查询:

select *
from Common
where common_id not in (select common_id from Table1)
and common_id not in (select common_id from Table2)
Run Code Online (Sandbox Code Playgroud)

我知道有孤立的记录,但没有返回任何记录.为什么不?

(这是SQL Server,如果重要的话.)

sql t-sql sql-server

120
推荐指数
5
解决办法
26万
查看次数

如何在两个数字之间生成一系列数字?

我有两个数字作为用户的输入,例如 10001050.

如何在单独的行中使用SQL查询生成这两个数字之间的数字?我要这个:

 1000
 1001
 1002
 1003
 .
 .
 1050
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2008

120
推荐指数
14
解决办法
18万
查看次数