标签: 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 TABLE和INSERT 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万
查看次数

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

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

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

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

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

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