当我在SQL中selectdate时,它返回2011-02-25 21:17:33.933 。 但我只需要date部分,即2011-02-25 。 我该怎么做?
我有一个代码是: DECLARE @Script VARCHAR(MAX) SELECT @Script = definition FROM manged.sys.all_sql_modules sq where sq.object_id = (SELECT object_id from managed.sys.objects Where type = 'P' and Name = 'usp_gen_data') Declare @Pos int SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500) PRINT SUBSTRING(@Script,1,@Pos) PRINT SUBSTRING(@script,@pos,8000) 脚本的长度大约是10,000个字符,因为我使用的print语句只能容纳最多8000个字符。所以我使用了两个打印语句。 问题是当我有一个脚本,这是说18000字符,然后我用3打印语句。 那么有没有一种方法可以根据脚本的长度来设置打印语句的数量?
我遇到了一些性能瓶颈与我的C#客户端插入批量数据到SQL Server 2005数据库,我正在寻找方法,以加快这一进程。 我已经在使用SqlClient.SqlBulkCopy(基于TDS)来加速跨线的数据传输,这有助于很多,但我仍然在寻找更多。 我有一个简单的表格,如下所示: CREATE TABLE [BulkData]( [ContainerId] [int] NOT NULL, [BinId] [smallint] NOT NULL, [Sequence] [smallint] NOT NULL, [ItemId] [int] NOT NULL, [Left] [smallint] NOT NULL, [Top] [smallint] NOT NULL, [Right] [smallint] NOT NULL, [Bottom] [smallint] NOT NULL, CONSTRAINT [PKBulkData] PRIMARY KEY CLUSTERED ( [ContainerIdId] ASC, [BinId] ASC, [Sequence] ASC )) 我将数据块插入数据块中,平均大约300行,其中ContainerId和BinId在每个块中都是常量,Sequence值为0-n,并且根据主键对值进行预先sorting。 %磁盘时间性能计数器花了很多时间在100%,所以很明显,磁盘IO是主要问题,但我得到的速度比原始文件副本低几个数量级。 […]
我怎样才能轻松地插入到一个varbinary(MAX)字段blob? 为了参数的缘故: 假设我要插入的东西是:c:\ picture.png表是mytable的列是mypictureblob和地方recid = 1 我一直在Google上search一段时间,我找不到一个简单的解决scheme 谢谢!
微软的SQL Server 2005和SQL Server 2008的主要区别是什么? 是否有任何令人信服的升级理由(任何版本,因为我有一个客户多个版本)? 或者是有一个网站有两个服务器的图表或项目符点比较? 另外,哪个版本的Express版本有什么值得注意的?
在Stack Overflow SQL Server 2005数据库中,我们看到了一些有害的但罕见的死锁条件。 我附上了剖析器,使用这篇关于解决死锁的优秀文章设置了一个跟踪configuration文件,并捕获了一堆示例。 奇怪的是, 死锁的写法总是一样的 : UPDATE [dbo].[Posts] SET [AnswerCount] = @p1, [LastActivityDate] = @p2, [LastActivityUserId] = @p3 WHERE [Id] = @p0 另一个死锁陈述各不相同,但通常是一些简单的,简单的阅读post表。 这个人总是在僵局中遇难。 这是一个例子 SELECT [t0].[Id], [t0].[PostTypeId], [t0].[Score], [t0].[Views], [t0].[AnswerCount], [t0].[AcceptedAnswerId], [t0].[IsLocked], [t0].[IsLockedEdit], [t0].[ParentId], [t0].[CurrentRevisionId], [t0].[FirstRevisionId], [t0].[LockedReason], [t0].[LastActivityDate], [t0].[LastActivityUserId] FROM [dbo].[Posts] AS [t0] WHERE [t0].[ParentId] = @p0 要清楚的是,我们没有看到写/写死锁,而是读/写。 我们目前有LINQ和参数化SQL查询的混合。 我们添加with (nolock)所有的SQL查询。 […]
我需要在SQL服务器上编写一个查询来获取特定表中列的列表,关联的数据types及其长度,以及它们是否为空。 我设法做了这么多。 但是现在我还需要在列中使用同一个表 – 如果它是主键,则为TRUE。 我如何做到这一点? 这是输出应该如何: Columns_name—-Data type—-Length—-isnull—-Pk 请帮帮我!
我必须显示在我的应用程序中的总列与总计运行总数…所以我已经使用以下查询来查找运行总数…我发现,两者都按照我的需要工作。 在一个我使用了左边的连接,并在另一个我使用子查询。 现在我的问题是,当我的数据以每天数千的增长速度哪一个更快,并且如果数据将限制在1000或2000行,那么哪一个更好…以及其他哪个更快,那么这两个? ?? declare @tmp table(ind int identity(1,1),col1 int) insert into @tmp select 2 union select 4 union select 7 union select 5 union select 8 union select 10 SELECT t1.col1,sum( t2.col1) FROM @tmp AS t1 LEFT JOIN @tmp t2 ON t1.ind>=t2.ind group by t1.ind,t1.col1 select t1.col1,(select sum(col1) from @tmp as t2 where t2.ind<=t1.ind) […]
比方说,我有一个名为ProjectTimeSpan (包括StartDate和EndDate的列)的表(我没有,只是作为示例!)。 而且我有另一个名为SubProjectTimeSpan的表,也包含名为StartDate和EndDate的列,在这里我想设置一个Check约束 ,使得无法将StartDate和EndDate设置为ProjectTimeSpan.StartDate到ProjectTimeSpan.EndDate之外的值 知道 其他表值的Check约束的种类… 这可能吗?
我真的很喜欢这里的一些build议,给我一些背景信息,我正在从Exchange 2007插入邮件跟踪日志到SQL。 因为我们每天有数以百万计的行,所以我使用Bulk Insert语句将数据插入到SQL表中。 事实上,我实际上批量插入到一个临时表,然后从那里我把数据合并到活动表,这是为testingparsing问题,因为某些领域,否则引号和周围的价值观。 这很好,除了收件人地址列是由a分隔的分隔字段这一事实之外。 字符,有时可能会有很多电子邮件收件人。 我想采取这一列,并将值分成多行,然后将插入到另一个表。 问题是我想要的东西要么太长,要么就是不按我想要的方式工作。 以此示例数据为例: message-id recipient-address 2D5E558D4B5A3D4F962DA5051EE364BE06CF37A3A5@Server.com user1@domain1.com E52F650C53A275488552FFD49F98E9A6BEA1262E@Server.com user2@domain2.com 4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user3@domain3.com;user4@domain4.com;user5@domain5.com 我希望这个格式如下我的收件人表格中: message-id recipient-address 2D5E558D4B5A3D4F962DA5051EE364BE06CF37A3A5@Server.com user1@domain1.com E52F650C53A275488552FFD49F98E9A6BEA1262E@Server.com user2@domain2.com 4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user3@domain3.com 4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user4@domain4.com 4fd70c47.4d600e0a.0a7b.ffff87e1@Server.com user5@domain5.com 有没有人有任何想法,我怎么能这样做呢? 我知道PowerShell相当好,所以我尝试过,但是即使在28Klogging上的foreach循环也需要永久处理,我需要尽可能快速/高效地运行。 谢谢!