问题标签 [tsql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
25348 浏览

sql - 使用 T-SQL / MS-SQL 将字符串附加到现有表格单元格的最简单方法是什么?

我有一个带有“文件名”列的表。我最近在此列中执行了插入操作,但我匆忙忘记将文件扩展名附加到输入的所有文件名中。幸运的是,它们都是“.jpg”图像。

如何轻松更新这些插入字段的“文件名”列(假设我可以根据已知的 id 值选择最近的行)以包含“.jpg”扩展名?

0 投票
41 回答
1316283 浏览

sql-server - 如何删除重复的行?

从相当大的SQL Server表(即 300,000+ 行)中删除重复行的最佳方法是什么?

RowID当然,由于标识字段的存在,这些行不会是完美的重复。

我的表

0 投票
6 回答
3511 浏览

sql - 如何在表格中进行 Upsert?

我有一个视图,其中包含工作列表,其中包含诸如分配给谁以及他们所处阶段之类的数据。我需要编写一个存储过程来返回每个人在每个阶段有多少工作。

到目前为止,我有这个(简化):

问题在于行不合并。因此,如果工作人员在 stage1 和 stage2 中有工作,那么@ResultTable 中有两行。我真正想做的是更新该行,如果存在该行,则如果该行不存在,则插入一个新行。

有谁知道如何做到这一点,或者可以提出不同的方法?我真的很想避免使用游标来迭代用户列表(但这是我的后备选项)。

我正在使用 SQL Server 2005。

编辑:@Lee:不幸的是 InStage1 = 1 是一种简化。它真的更像 WHERE DateStarted IS NOT NULL 和 DateFinished IS NULL。

编辑:@BCS:我喜欢先插入所有员工的想法,所以我只需要每次都进行更新。但我正在努力让那些 UPDATE 语句正确。

0 投票
2 回答
2167 浏览

sql-server - 没有交易就触发?

是否可以创建一个不在事务中的触发器?

我想用触发器更新链接服务器上的数据,但由于防火墙问题,我们无法在两台服务器之间创建分布式事务。

0 投票
10 回答
53082 浏览

sql - 什么是检查 TSQL 中两个日期时间是否在同一日历日的好方法?

这是我遇到的问题:我有一个大型查询,需要比较 where 子句中的日期时间,以查看两个日期是否在同一天。我目前的解决方案很糟糕,是将日期时间发送到 UDF 以将它们转换为同一天的午夜,然后检查这些日期是否相等。当涉及到查询计划时,这是一场灾难,几乎所有连接或 where 子句中的 UDF 也是如此。这是我的应用程序中仅有的几个我无法根除函数并为查询优化器提供一些它实际上可以用来定位最佳索引的地方之一。

在这种情况下,将函数代码合并回查询中似乎不切实际。

我想我在这里遗漏了一些简单的东西。

这是供参考的功能。

为了使事情复杂化,我加入时区表以检查日期与当地时间,每一行可能不同:

[编辑]

我正在采纳@Todd 的建议:

我对 datediff 工作原理的误解(连续年份的同一天产生 366,而不是我预期的 0)导致我浪费了很多精力。

但是查询计划没有改变。我想我需要把整个事情重新回到绘图板上。

0 投票
7 回答
194329 浏览

sql-server - SQL Server:透视字符串数据的示例

试图找到一些简单的 SQL Server PIVOT 示例。我发现的大多数示例都涉及计数或求和。我只想旋转一些字符串数据。例如,我有一个返回以下内容的查询。

我想使用 PIVOT(如果可能的话)使结果如下:

这甚至可以通过 PIVOT 功能实现吗?

0 投票
5 回答
4703 浏览

sql-server-2005 - 从另一个数据库创建一个数据库?

SQL Server 2005 中是否有一种自动方法可以从另一个数据库中的多个表创建数据库?我需要处理一个项目,我只需要几个表就可以在本地运行它,而且我不想备份 50 gig 的数据库。

更新

我在 Management Studio 中尝试了 Tasks -> Export Data,虽然它使用我想要的表创建了一个新的子数据库,但它没有复制任何表元数据,即......没有 PK/FK 约束和身份数据(甚至选中保留身份)。

我显然需要这些才能工作,所以我愿意接受其他建议。我会试试那个数据库发布工具。

我没有可用的集成服务,两个 SQL Server 不能直接相互连接,所以这些都出来了。

更新的更新

数据库发布工具有效,它生成的 SQL 有点错误,所以需要一点手动编辑(尝试引用不存在的触发器),但一旦我这样做了,我就很好了。

0 投票
12 回答
92040 浏览

sql-server - 有没有办法使 TSQL 变量保持不变?

有没有办法使 TSQL 变量保持不变?

0 投票
6 回答
16869 浏览

sql - 获取表中的最后一项 - SQL

我在 SQL Server 中有一个历史表,它基本上通过一个过程跟踪一个项目。该项目有一些在整个过程中不会更改的固定字段,但还有一些其他字段,包括状态和 Id,它们会随着流程步骤的增加而增加。

基本上我想检索给定批次参考的每个项目的最后一步。所以如果我做一个

它将返回批次中所有项目的所有步骤 - 例如

但我真正想要的是:

编辑:Appologies - 似乎无法让 TABLE 标签与 Markdown 一起使用 - 遵循字母的帮助,在预览中看起来很好

0 投票
12 回答
357258 浏览

sql - SQL Server:仅获取过去一年的数据

我正在编写一个查询,我必须在其中获取仅去年的数据。做这个的最好方式是什么?