Questions tagged «sql-server-2005»

使用此标记可以解决特定于Microsoft SQL Server 2005版本的问题。



9
SQL Server IN vs. EXISTS性能
我很好奇以下哪个会更有效? 我一直对使用它持谨慎态度,IN因为我相信SQL Server会将结果集变成一个大IF语句。对于较大的结果集,这可能会导致性能下降。对于较小的结果集,我不确定哪一个都更好。对于大型结果集,会不会EXISTS更有效率? WHERE EXISTS (SELECT * FROM Base WHERE bx.BoxID = Base.BoxID AND [Rank] = 2) 与 WHERE bx.BoxID IN (SELECT BoxID FROM Base WHERE [Rank = 2])


10
从SQL Server中的字符串中删除HTML标签的最佳方法?
我在SQL Server 2005中有包含html标记的数据,我想删除所有内容,只在标记之间保留文本。理想的情况下也更换喜欢的东西<带<等 有没有简单的方法可以做到这一点,或者有人已经获得了一些示例t-sql代码? 我没有添加扩展存储的proc之类的功能,因此更喜欢纯t-sql方法(最好是一种与sql 2000向后兼容的方法)。 我只想使用剥离的html来检索数据,而不是对其进行更新,因此理想情况下,它将被编写为用户定义的函数,以使其易于重用。 因此,例如,将其转换为: <B>Some useful text</B>  <A onclick="return openInfo(this)" href="http://there.com/3ce984e88d0531bac5349" target=globalhelp> <IMG title="Source Description" height=15 alt="Source Description" src="/ri/new_info.gif" width=15 align=top border=0> </A>> <b>more text</b></TD></TR> 对此: Some useful text > more text

8
如何从错误消息中获取实际的存储过程行号?
当我使用SQL Server时出现错误,错误消息给出的行号与存储过程中的行号没有关联。我认为差异是由于空白和注释引起的,是真的吗? 如何将这两组线号相互关联?如果有人能够至少向我提供正确方向的指点,我将非常感激。 我正在使用SQL Server 2005。



17
如何使用Print Statement打印VARCHAR(MAX)?
我有一个代码是: 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个字符。因此,我使用的是两个print语句。 问题是当我有一个脚本(例如18000个字符)时,我曾经使用3条打印语句。 那么,有没有一种方法可以根据脚本的长度来设置打印语句的数量?

6
将varchar转换为SQL Server中的uniqueidentifier
我无法控制该模式的表包含一个定义为varchar(50)的列,该列以'a89b1acd95016ae6b9c8aabb07da2010'格式存储唯一标识符(无连字符) 我想将这些转换为SQL中的uniqueidentifiers,以传递给.Net Guid。但是,以下查询行对我不起作用: select cast('a89b1acd95016ae6b9c8aabb07da2010' as uniqueidentifier) select convert(uniqueidentifier, 'a89b1acd95016ae6b9c8aabb07da2010') 并导致: 讯息8169,第16级,州2,第1行 从字符串转换为uniqueidentifier时转换失败。 使用带连字符的uniqueidentifier的相同查询可以正常工作,但数据不会以该格式存储。 还有另一种(有效的)方法可以将这些字符串转换为SQL中的uniqueidentifiers。-我不想在.Net代码中这样做。

10
SQL Server-“ sys.functions”在哪里?
SQL Server 2005在我经常使用的系统目录上具有出色的sys.XXX视图。 让我感到困惑的是:为什么没有“ sys.procedures”视图可以查看有关存储过程的信息,却没有“ sys.functions”视图可以看到与存储过程相同的信息? 没有人使用存储的功能吗?我发现它们非常方便,例如计算列之类的! 是否有特定原因导致sys.functions丢失,或者仅仅是一些没有被认为重要到足以放入sys目录视图中的东西?SQL Server 2008中可用吗? 干杯,马克



5
如何查询数据库架构是否存在
作为构建过程的一部分,我们在将代码部署到4个不同环境中时运行数据库更新脚本。此外,由于相同的查询将添加到,直到我们放下一个释放到生产它具有能够给定的数据库上运行多次。像这样: IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = OBJECT_ID(N'[Table]')) BEGIN CREATE TABLE [Table] (...) END 目前,我在Deployment / Build脚本中有一个create schema语句。在哪里查询模式的存在?

18
从周号获取周开始日期和周结束日期
我有一个查询,该查询计算数据库中成员的结婚日期。 SELECT SUM(NumberOfBrides) AS [Wedding Count] , DATEPART( wk, WeddingDate) AS [Week Number] , DATEPART( year, WeddingDate) AS [Year] FROM MemberWeddingDates GROUP BY DATEPART(year, WeddingDate), DATEPART(wk, WeddingDate) ORDER BY SUM(NumberOfBrides) DESC 在结果集中表示每周的开始和结束时如何计算? SELECT SUM(NumberOfBrides) AS [Wedding Count] , DATEPART(wk, WeddingDate) AS [Week Number] , DATEPART(year, WeddingDate) AS [Year] , ??? …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.