Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。

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] , ??? …

17
如何用前导零将int转换为char?
我需要将int数据字段转换为前导零的nvarchar 例: 1转换为'001' 867转换为'000867'等 谢谢。 这是我4小时后的回复... 我测试了此T-SQL脚本,并为我正常工作! DECLARE @number1 INT, @number2 INT SET @number1 = 1 SET @number2 = 867 SELECT RIGHT('000' + CAST(@number1 AS NCHAR(3)), 3 ) AS NUMBER_CONVERTED SELECT RIGHT('000000' + CAST(@number2 AS NCHAR(6)), 6 ) AS NUMBER_CONVERTED 我创建了这个用户功能 T-SQL代码: CREATE FUNCTION CIntToChar(@intVal BIGINT, @intLen Int) RETURNS nvarchar(20) …

10
使用SQL视图的充分理由是什么?
我正在阅读SQL Server 2008圣经,并且涵盖了视图部分。但是作者确实没有解释观点的目的。视图有什么用?我应该在我的网站上使用它们吗?它们有什么好处?
98 sql  sql-server 

6
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。 我应该知道这一点,但是我的脑海中一片空白。我究竟做错了什么?
98 sql  sql-server  tsql 




14
如何在SQL Server Management Studio 2008中自动执行“生成脚本”任务?
我想在SQL Server Management Studio 2008中自动生成脚本。 现在我要做的是: 右键单击我的数据库,“任务”,“生成脚本...”。 手动选择我需要的所有导出选项,然后在“选择对象”选项卡上单击全选 选择导出文件夹 最终点击“完成”按钮 有没有办法自动执行此任务? 编辑:我想生成创建脚本,而不是更改脚本。

3
替换从左外部联接返回的默认空值
我有一个Microsoft SQL Server 2008查询,该查询使用左外部联接从三个表返回数据。很多时候,第二个和第三个表中没有数据,因此我得到一个空值,我认为这是左外部联接的默认值。有没有办法替换select语句中的默认值?我有一个解决方法,可以选择一个表变量,但感觉有点脏。 SELECT iar.Description, iai.Quantity, iai.Quantity * rpl.RegularPrice as 'Retail', iar.Compliance FROM InventoryAdjustmentReason iar LEFT OUTER JOIN InventoryAdjustmentItem iai on (iar.Id = iai.InventoryAdjustmentReasonId) LEFT OUTER JOIN Item i on (i.Id = iai.ItemId) LEFT OUTER JOIN ReportPriceLookup rpl on (rpl.SkuNumber = i.SkuNo) WHERE iar.StoreUse = 'yes' 如果可能的话,我希望数量和常规价格默认为零。


9
搜索表名
我使用以下内容在存储过程中搜索字符串: use DBname SELECT Name FROM sys.procedures WHERE OBJECT_DEFINITION(OBJECT_ID) LIKE '%xxx%' 修改上述内容是否容易,以便在特定的数据库“ DBname”中搜索表名称?

9
哪个SQL查询更快?根据加入条件或Where子句过滤?
比较这两个查询。将筛选器放在连接条件或WHERE子句中是否更快。我一直觉得连接条件比较快,因为它会在最快的时候减少结果集,但是我不确定。 我将构建一些测试以供查看,但我也想就哪些内容也更易于阅读获得意见。 查询1 SELECT * FROM TableA a INNER JOIN TableXRef x ON a.ID = x.TableAID INNER JOIN TableB b ON x.TableBID = b.ID WHERE a.ID = 1 /* <-- Filter here? */ 查询2 SELECT * FROM TableA a INNER JOIN TableXRef x ON a.ID = x.TableAID AND a.ID = …

3
删除临时表(如果存在)
我在SQL中有两行代码可以动态创建两个表,我需要执行以下操作 IF TABLE EXISTS DROP IT AND CREATE IT AGAIN ELSE CREATE IT 我的台词如下 CREATE TABLE ##CLIENTS_KEYWORD(client_id int) CREATE TABLE ##TEMP_CLIENTS_KEYWORD(client_id int) 如何在我的过程中将概念应用于这两个表?
96 sql  sql-server 


8
TSQL-如何在BEGIN .. END块内使用GO?
我正在生成一个脚本,用于将更改从多个开发数据库自动迁移到暂存/生产中。基本上,它需要一堆更改脚本,并将它们合并为一个脚本,然后将每个脚本包装在一条IF whatever BEGIN ... END语句中。 但是,某些脚本需要一条GO语句,例如,SQL解析器在创建新列后就知道该列。 ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL GO -- Necessary, or next line will generate "Unknown column: EMP_IS_ADMIN" UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN = whatever 但是,一旦将其包装在一个IF块中: IF whatever BEGIN ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL GO UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN …

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.