Tag: sql server

“ORDER BY(SELECT NULL)”是什么意思?

下面的SQL是从Itzik Ben-Gan用来生成一个数字表。 order by (select null)部分的order by (select null)是什么意思? 谢谢。 DECLARE @number_of_numbers INT; SELECT @number_of_numbers = 100000; WITH a AS ( SELECT 1 AS i UNION ALL SELECT 1 ), b AS ( SELECT 1 AS i FROM a AS x , a AS y ), c AS ( SELECT 1 AS i FROM b […]

最近的一条左连接logging

想象一下,我在SqlServer中有以下3个表: Customer (CustomerID, FirstName, LastName) Address (AddressID, CustomerID, Line1, City, State) Product (ProductID, CustomerID, Description) 一个客户可以有多个交货地址和多个产品。 我想要做的是列出由最近的地址logging确定的每个州的客户数量。 如“每个州有多less客户最后收到产品?”。 因此,我对客户以前的任何地址logging不感兴趣,只有最近的(由AddressID确定)。 State | Number of Customers ————————– CA | 32 GA | 12 TX | 0 OH | 18 我通常会做这样的事情: SELECT a.State, count(c.CustomerID) FROM Product p INNER JOIN Customer c ON c.CustomerID = p.CustomerID LEFT JOIN Address […]

7645空或全空全文谓词

我有一个查询运行良好的SQL2005,但将数据库移动到SQL2008给我从标题的错误。 问题的代码是调用CONTAINS,CONTAINSTABLE或FREETEXT与一个空的参数。 但是,我试图只有打电话或join时,有这样的价值 where (@search_term = '' or (FREETEXT(lst.search_text, @search_term))) 要么 left join containstable (listing_search_text, search_text, @search_term) ftb on l.listing_id = ftb.[key] and len(@search_term) > 0 不过,我无法find任何解决方法,这对SQL2008工作。 有任何想法吗? 我知道我可以做dynamicSQL或有两个不同情况下的if语句(selectFTjoin,select没有FTjoin。任何更好的解决方法,不需要这样做?

将SSMS .rpt输出文件转换为.txt / .csv

我想将我的大型SSMS(SQL Server Management Studio)查询结果(2.5m行,9个字段)导出为.csv或逗号分隔的.txt(带标题)。 (MS SQL Server 2005 Management Studio。) 这样我就可以逐行读入VBA程序(对数据进行一定的计算)或者在Excel中对其进行查询(例如使用Microsoft Query)。 计算很复杂,我宁愿在SSMS以外的地方进行。 如果我selectSSMS中的“查询结果到文本”和一个小的答案(几行,例如高达200k),我当然可以简单地复制并粘贴到文本编辑器。 对于我这里的大回答,我当然可以复制和粘贴200k左右的行,每次10次,进入一个文本编辑器,如超编辑。 (当我同时尝试所有2.5米的时候,我在SSMS里面发现了一个内存警告。)但是对于未来我想要一个更优雅的解决scheme。 对于“查询结果到文件”,SSMS总是写入一个.rpt文件。 (如果在结果窗口中右键单击并select“另存为”,则会出现如上所述的内存错误。) – >所以看起来我唯一的select是让SSMS将结果输出到一个文件,即.rpt,然后将.rpt转换为.txt。 我假设这个.rpt是一个Crystal Reports文件? 或者不是。 我的电脑上没有Crystal Reports,所以我无法使用它来转换文件。 当在Ultra-Edit中打开.rpt时,它看起来很好。 但是,在Excel中的Microsoft Query中,标题不希望显示。 当我简单地使用VBA读写.rpt时,文件大小减半。 (330至180微克)。 在Microsoft Query中,标题确实显示(尽pipe第一个字段名有一个有趣的主angular,在其他完全不同的情况下,这在我之前发生过)。 我似乎能够在Excel中做有意义的数据透视表。 但是,当我在Ultra-Edit中打开这个新文件时,它显示中文字符! 难道还有一些有趣的angular色呢? – >是否有免费(和简单/安全)转换器应用程序可用的地方。 或者我应该相信,这个.txt对于读入我的VBA程序是很好的。 谢谢

如何获取getdate()的date部分?

我有一个具有CreationDate字段的SQL表。 我在计算列规格公式中有getdate() 。 我想知道如何得到date部分,即'2012-08-24'而不是'2012-08-24 10:45:17.740'。

如何使用Dapper.NET将C#列表插入数据库

使用小巧 ,我怎样才能插入一个C# List到数据库。 以前没有精巧的我用下面的代码插入到数据库的列表值 。 try { connection.Open(); for (int i = 0; i < processList.Count; i++) { string processQuery = "INSERT INTO PROCESS_LOGS VALUES (@Id, @st_Time, @ed_Time, @td_Time)"; command = new SqlCommand(processQuery, connection); command.Parameters.Add("Id", SqlDbType.Int).Value = processList[i].ID; command.Parameters.Add("st_Time", SqlDbType.DateTime).Value = processList[i].ST_TIME; command.Parameters.Add("ed_Time", SqlDbType.DateTime).Value = processList[i].ED_TIME; command.Parameters.Add("td_Time", SqlDbType.DateTime2).Value = processList[i].TD_TIME; dataReader.Close(); dataReader = command.ExecuteReader(); } […]

如何在SQL Server 2008上find禁用的索引

前段时间,当我向SQL Server数据库执行一些批量数据插入时,我禁用了许多索引来提高插入性能。 我现在需要回去重build/重新启用它们。 不幸的是,我不确定我禁用了哪些索引。 有没有一种方法可以查询,以确定哪些索引被禁用,应该重新启用?

UNION多个存储过程的结果

我有一个存储过程,我需要调用几次不同的时间传递不同的参数。 我想收集结果作为一个单一的数据集。 是这样的可能性… exec MyStoredProcedure 1 UNION exec MyStoredProcedure 2 UNION exec MyStoredProcedure 3 我尝试使用上面的语法,但得到了错误… Incorrect syntax near the keyword 'UNION' 我正在处理的存储过程相当复杂,对我来说是一个“黑匣子”,所以我无法进入存储过程的定义并改变任何东西。 有关如何将结果汇总在一起的任何build议? 我正在使用SQL Server 2008 R2。 谢谢你的帮助。

如何在SQL Server中显示小数点后两位数字

我有在SQL Server有一个float数据types列的表我想返回我的float数据types列值与2个小数位。 例如:如果我插入12.3 ,它应该返回12.30 如果我插入12 ,它应该返回12.00

重命名SQL Server架构

我怎样才能使用SQL Server重命名模式?