Tag: sql server

如何获得当年的第一个和最后一个date

使用SQL Server 2000 如何获得当年的第一个和最后一个date 预期输出 01/01/2012和31/12/2012 如何得到这个date。 需要SQL查询帮助

如何在SQL Server中一次更改多个列

我需要ALTER表中几列的数据types。 对于单列,以下工作正常: ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0) 但是,如何在一个语句中更改多个列? 以下不起作用: ALTER TABLE tblcommodityOHLC ALTER COLUMN CC_CommodityContractID NUMERIC(18,0), CM_CommodityID NUMERIC(18,0)

复制数据库的最佳方法(SQL Server 2008)

愚蠢的问题 – 什么是在我想用生产服务器实例刷新开发服务器的环境中复制实例的最佳方式? 我已经做了备份恢复,但我听说detach-copy-attach和一个人甚至告诉我,他只是复制文件系统之间的数据文件…. 这三个(或两个,最后一个听起来有点嫌疑)接受的方法? 我的理解是,第二种方法更快,但由于分离方面的原因需要停机。 另外,在这种情况下(想要在开发服务器上生成一个精确的副本),传输login等的公认做法是什么? 我应该只是备份和恢复用户数据库+主+ msdb?

SQL更新查询中的聚合函数?

我试图将一个表中的值设置为另一个表中的值的总和。 沿着这些线路的东西: UPDATE table1 SET field1 = SUM(table2.field2) FROM table1 INNER JOIN table2 ON table1.field3 = table2.field3 GROUP BY table1.field3 当然,这样做,它不会工作 – SET不支持SUM ,它不支持GROUP BY 。 我应该知道这一点,但是我的想法是空白的。 我究竟做错了什么?

SQL-在searchstring时忽略大小写

我有一个表中的以下数据 PriceOrderShipped PriceOrderShippedInbound PriceOrderShippedOutbound 在SQL中,我需要编写一个查询来search表中的string。 searchstring时应该忽略大小写。 对于下面提到的SQL查询 SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%PriceOrder%' 给出所有上述数据,而 SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME LIKE '%Priceorder%' 不给。 例如。 当我search'PriceOrder'或'priceOrder'它的作品,但'priceorder'或'Priceorder'不起作用。 我已经尝试使用COLLATE下面的查询,但它不工作。 请让我知道我哪里错了。 SELECT DISTINCT COL_NAME FROM myTable WHERE COL_NAME COLLATE latin1_general_cs LIKE '%Priceorder%'

将时间(hh:mm)存储在数据库中的最佳方法

我想在数据库表中存储时间,但只需要存储小时和分钟。 我知道我可以使用DATETIME并忽略date的其他组件,但是如果不存储比我实际需要的更多信息,最好的方法是什么?

如何searchSQL Server数据库的string?

我知道这是可能的,但不知道如何。 我需要searchMicrosoft SQL数据库中所有提到的特定string。 例如:我想search所有的表,视图,函数,存储过程…string“tblEmployes”。 (不是表格中的数据) 我需要这个的原因之一,我想删除一些额外的数据表创build,但我担心,他们也许在程序或function的某个地方使用。 任何帮助表示赞赏。

为什么在xact_abort打开时,Sql Server在raiserror之后继续执行?

我只是感到惊讶的东西在TSQL。 我认为,如果xact_abort打开,调用类似 raiserror('Something bad happened', 16, 1); 会停止执行存储过程(或任何批处理)。 但是我的ADO.NET错误信息刚好相反。 在exception消息中,我得到了两个raiserror错误消息,再加上之后破坏的下一个消息。 这是我的解决方法(无论如何,这是我的习惯),但它似乎不应该是必要的: if @somethingBadHappened begin; raiserror('Something bad happened', 16, 1); return; end; 文档说这个: 当SET XACT_ABORT为ON时,如果Transact-SQL语句引发运行时错误,则整个事务将终止并回滚。 这是否意味着我必须使用明确的交易?

SQLvariables来保存整数列表

我试图debugging别人的SQL报告,并将基础报告查询放入SQL 2012的查询窗口中。 报告要求的参数之一是整数列表。 这是通过多选下拉框在报告上实现的。 报表的底层查询在where子句中使用了这个整数列表 select * from TabA where TabA.ID in (@listOfIDs) 我不想修改我正在debugging的查询,但我不知道如何在SQL Server上创build一个可以容纳这种types的数据来testing它的variables。 例如 declare @listOfIDs int set listOfIDs = 1,2,3,4 没有可以保存整数列表的数据types,那么如何在报表中使用与报表相同的值在SQL Server上运行报表查询?

是否有必要使用#在SQL Server中创build临时表?

在SQL Server中创build临时表之前是否需要使用# 例: SELECT column1, column2, someInt, someVarChar INTO ItemBack1 FROM table2 WHERE table2.ID = 7 对于ItemBack1是否需要使用#符号? 如果没有,那么在创build临时表中使用#什么用?