我跟踪存储在RolesSQL Server数据库中的XML列(称为)中的XML .
<root>
<role>Alpha</role>
<role>Beta</role>
<role>Gamma</role>
</root>
Run Code Online (Sandbox Code Playgroud)
我想列出在其中具有特定角色的所有行.此角色由参数传递.
我正在使用SQL Server 2000中的一个数据库,该数据库为每个使用它所绑定的应用程序的用户使用GUID.不知何故,两个用户最终得到了相同的GUID.我知道微软使用一种算法来生成一个随机GUID,这个GUID极有可能导致碰撞,但是碰撞仍然可能吗?
我在我的脚本中的几个地方使用数据库名称,我希望能够快速更改它,所以我正在寻找这样的东西:
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)
但它不起作用.那么编写这段代码的正确方法是什么?
我有一张这样的桌子......
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) 我们有一个日志表,其中有一个消息列,有时会有一个异常堆栈跟踪.我有一些标准来确定消息是否具有此功能.我们不希望向客户显示这些消息,而是发出如下消息:
内部错误发生.请与我们联系,参考代码为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语句中起作用.有任何想法吗?
使用之间有什么区别
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将在默认文件组上创建插入表(如果它尚不存在),并且此语句的日志记录取决于恢复数据库的模型.
编辑:我已经声明我知道SELECT INTO ...创建一个不存在的表.我想知道的是SQL包含这个语句是有原因的,它是什么?它是在幕后插入行做的不同的事情,还是只是在a CREATE TABLE和INSERT INTO.之上的语法糖.
我有一个SQL Server 2008 R2列包含一个字符串,我需要用逗号分隔.我在StackOverflow上看到了很多答案,但它们都不适用于R2.我确保我对任何拆分函数示例都有选择权限.任何帮助非常感谢.
我有这个查询与mysql:
select * from table1 LIMIT 10,20
Run Code Online (Sandbox Code Playgroud)
我怎么能用Microsoft 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,如果重要的话.)
我有两个数字作为用户的输入,例如 1000和1050.
如何在单独的行中使用SQL查询生成这两个数字之间的数字?我要这个:
1000
1001
1002
1003
.
.
1050
Run Code Online (Sandbox Code Playgroud)