标签: t-sql

如何识别引用特定表的所有存储过程

我创建了一个关于开发环境的表用于测试目的,并且很少有sp正在重写这个表.现在我必须删除此表以及识别引用此表的所有sp.我很难找到所有sp的列表.请通过假设表名为"x"并且数据库是sql server 2005来建议一些查询.

sql t-sql sql-server-2005

117
推荐指数
8
解决办法
33万
查看次数

多个INSERT语句与具有多个VALUES的单个INSERT

我在使用1000个INSERT语句之间运行性能比较:

INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) 
   VALUES ('6f3f7257-a3d8-4a78-b2e1-c9b767cfe1c1', 'First 0', 'Last 0', 0)
INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) 
   VALUES ('32023304-2e55-4768-8e52-1ba589b82c8b', 'First 1', 'Last 1', 1)
...
INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) 
   VALUES ('f34d95a7-90b1-4558-be10-6ceacd53e4c4', 'First 999', 'Last 999', 999)
Run Code Online (Sandbox Code Playgroud)

..versus使用具有1000个值的单个INSERT语句:

INSERT INTO T_TESTS (TestId, FirstName, LastName, Age) 
VALUES 
('db72b358-e9b5-4101-8d11-7d7ea3a0ae7d', 'First 0', 'Last 0', 0),
('6a4874ab-b6a3-4aa4-8ed4-a167ab21dd3d', 'First 1', 'Last 1', 1),
...
('9d7f2a58-7e57-4ed4-ba54-5e9e335fb56c', 'First 999', 'Last 999', 999)
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,结果与我的想法相反:

  • 1000 INSERT语句:290毫秒.
  • 1个带有1000个值的INSERT语句:2800毫秒.

测试直接在MSSQL Management …

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

117
推荐指数
3
解决办法
10万
查看次数

SQL"之间"不包括在内

我有这样的查询:

SELECT * FROM Cases WHERE created_at BETWEEN '2013-05-01' AND '2013-05-01'
Run Code Online (Sandbox Code Playgroud)

但即使第一次有数据,这也没有结果.

created_at看起来2013-05-01 22:25:19,我怀疑它与时间有关?怎么解决这个问题?

如果我执行更大的日期范围,它可以正常工作,但它应该(包含)也可以使用单个日期.

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

117
推荐指数
5
解决办法
13万
查看次数

使用T-SQL查找最后一次出现的子字符串的索引

有没有一种直接的方法来使用SQL查找最后一次出现的字符串的索引?我现在正在使用SQL Server 2000.我基本上需要.NET System.String.LastIndexOf方法提供的功能.一个小的谷歌搜索透露了这个 - 函数来检索最后一个索引 - 但如果你传入一个"文本"列表达式,这不起作用.在其他地方找到的其他解决方案只有在您搜索的文本长度为1个字符时才起作用.

我可能不得不做一个功能.如果我这样做,我会在这里发布,所以你们大家可以看看它,也许可以利用它.

t-sql sql-server string search sql-server-2000

116
推荐指数
9
解决办法
34万
查看次数

从SQL DATE获取月份和年份

我只需要从SQL Server中的Date字段访问Month.Year.

sql t-sql sql-server

116
推荐指数
15
解决办法
91万
查看次数

SQL Server 2005 T-SQL中的Base64编码

我想编写一个T-SQL查询,我将字符串编码为Base64字符串.令人惊讶的是,我找不到任何用于执行Base64编码的本机T-SQL函数.是否存在本机功能?如果没有,在T-SQL中进行Base64编码的最佳方法是什么?

t-sql base64 encoding sql-server-2005

116
推荐指数
5
解决办法
14万
查看次数

在')'附近使用GETDATE调用存储过程的语法不正确

也许我有一个'下午'的时刻,但任何人都可以解释为什么我得到

消息102,级别15,状态1,行2
'''附近的语法不正确.

跑步时

CREATE PROC DisplayDate 
    (@DateVar DATETIME) 
AS 
BEGIN
    SELECT @DateVar
END
GO

EXEC DisplayDate GETDATE();
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server getdate

113
推荐指数
2
解决办法
7万
查看次数

How much size "Null" value takes in SQL Server

I have a large table with say 10 columns. 4 of them remains null most of the times. I have a query that does null value takes any size or no size in bytes. I read few articles some of them are saying :

http://www.sql-server-citation.com/2009/12/common-mistakes-in-sql-server-part-4.html

There is a misconception that if we have the NULL values in a table it doesn't occupy storage space. The fact is, a NULL value occupies space – 2 bytes

SQL:使用NULL值与默认值

NULL在数据库中的值是一个系统值占用一个字节存储的并指示值不存在,而不是一个空间或零或任何其他的默认值.

你可以指导我关于空值的大小.

t-sql sql-server null sql-server-2005

113
推荐指数
3
解决办法
6万
查看次数

将动态SQL的结果转换为sql-server的变量

在存储过程中按如下方式执行动态SQL:

DECLARE @sqlCommand nvarchar(1000)
DECLARE @city varchar(75)
SET @city = 'London'
SET @sqlCommand = 'SELECT COUNT(*) FROM customers WHERE City = @city'
EXECUTE sp_executesql @sqlCommand, N'@city nvarchar(75)', @city = @city
Run Code Online (Sandbox Code Playgroud)

如何将count(*)列值用作SP中的返回值?

sql t-sql sql-server sql-server-2005 dynamic-sql

111
推荐指数
2
解决办法
16万
查看次数

从表中的列中删除标识

我们有一个5GB的表(接近5亿行),我们想删除其中一个列上的标识属性,但是当我们尝试通过SSMS执行此操作时 - 它会超时.

这可以通过T-SQL完成吗?

sql t-sql sql-server

111
推荐指数
7
解决办法
25万
查看次数