我创建了一个关于开发环境的表用于测试目的,并且很少有sp正在重写这个表.现在我必须删除此表以及识别引用此表的所有sp.我很难找到所有sp的列表.请通过假设表名为"x"并且数据库是sql server 2005来建议一些查询.
我在使用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)
令我惊讶的是,结果与我的想法相反:
测试直接在MSSQL Management …
我有这样的查询:
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查找最后一次出现的字符串的索引?我现在正在使用SQL Server 2000.我基本上需要.NET System.String.LastIndexOf方法提供的功能.一个小的谷歌搜索透露了这个 - 函数来检索最后一个索引 - 但如果你传入一个"文本"列表达式,这不起作用.在其他地方找到的其他解决方案只有在您搜索的文本长度为1个字符时才起作用.
我可能不得不做一个功能.如果我这样做,我会在这里发布,所以你们大家可以看看它,也许可以利用它.
我想编写一个T-SQL查询,我将字符串编码为Base64字符串.令人惊讶的是,我找不到任何用于执行Base64编码的本机T-SQL函数.是否存在本机功能?如果没有,在T-SQL中进行Base64编码的最佳方法是什么?
也许我有一个'下午'的时刻,但任何人都可以解释为什么我得到
消息102,级别15,状态1,行2
'''附近的语法不正确.
跑步时
CREATE PROC DisplayDate
(@DateVar DATETIME)
AS
BEGIN
SELECT @DateVar
END
GO
EXEC DisplayDate GETDATE();
Run Code Online (Sandbox Code Playgroud) 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
甲
NULL在数据库中的值是一个系统值占用一个字节存储的并指示值不存在,而不是一个空间或零或任何其他的默认值.
你可以指导我关于空值的大小.
在存储过程中按如下方式执行动态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中的返回值?
我们有一个5GB的表(接近5亿行),我们想删除其中一个列上的标识属性,但是当我们尝试通过SSMS执行此操作时 - 它会超时.
这可以通过T-SQL完成吗?
t-sql ×10
sql-server ×8
sql ×6
base64 ×1
date ×1
dynamic-sql ×1
encoding ×1
getdate ×1
null ×1
performance ×1
search ×1
string ×1