问题标签 [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 投票
24 回答
152274 浏览

tsql - 如何在 T-SQL 中用年、月和日计算年龄

在 T-SQL (SQL Server 2000) 中以年、月和日为单位计算某人年龄的最佳方法是什么?

datediff函数不能很好地处理年份边界,而且将月份和日期分开将是一个负担。我知道我可以在客户端相对容易地做到这一点,但我想在我的存储过程中完成它。

0 投票
7 回答
29257 浏览

sql-server - 您如何在 SQL Server 2005 中锁定表,我什至应该这样做吗?

这需要一些解释。我所做的是在 SQL Server 2005 中创建一个特定的自定义消息队列。我有一个包含确认和完成时间戳的消息表。调用者为获取其队列中的下一条消息而执行的存储过程也会确认该消息。到现在为止还挺好。好吧,如果系统正在经历大量事务(每分钟数千次),那么在另一个存储过程的执行过程中是否有可能在另一个执行过程中确认消息,而另一个消息本身准备好这样做?让我通过在存储过程中显示我的 SQL 代码来提供帮助:

在上面的代码中,不能同时运行的另一个存储过程获取相同的 id 并尝试同时确认它吗?我可以(或者我应该)实现某种锁定以防止另一个存储过程确认另一个存储过程正在查询的消息吗?

哇,这有任何意义吗?有点难以表达...

0 投票
4 回答
50674 浏览

sql - 什么时候应该使用全文索引?

我们有一大堆“搜索”客户、客户等的查询。您可以按名字、电子邮件等进行搜索。我们以下列方式使用 LIKE 语句:

全文索引在场景中是否有帮助?我们使用的是 SQL Server 2005。

0 投票
12 回答
8260 浏览

.net - 在 SQL 2005+ 中,CLR 存储过程是否优于 TSQL 存储过程?

我目前的观点是不,更喜欢 Transact SQL 存储过程,因为它们重量更轻且(可能)性能更高的选项,而 CLR 过程允许开发人员进行各种恶作剧。

但是最近我需要调试一些写得很糟糕的 TSQL 存储过程。像往常一样,我发现许多问题是由于原始开发人员没有真正的 TSQL 经验,他们专注于 ASP.NET / C#。

因此,使用 CLR 程序首先会为这类开发人员提供更熟悉的工具集,其次,调试和测试工具更强大(即 Visual Studio 而非 SQL Management Studio)。

我很想听听您的经历,因为这似乎不是一个简单的选择。

0 投票
5 回答
9148 浏览

sql-server - T-SQL 中的随机加权选择

如何根据所有候选行的应用权重随机选择 T-SQL 中的表行?

例如,我在一个表中有一组行,权重分别为 50、25 和 25(加起来为 100 但不需要),我想随机选择其中一个,其统计结果相当于相应的重量。

0 投票
11 回答
23906 浏览

sql-server - 如何登录 T-SQL

我正在使用 ADO.NET 访问 SQL Server 2005,并且希望能够从我正在调用的 T-SQL 存储过程内部进行日志记录。这有可能吗?

使用 ADO.NET 时,我无法看到“打印”语句的输出,因为我只想使用日志记录来调试理想的解决方案是从 SysInternals 向 DebugView 发出消息。

0 投票
7 回答
59169 浏览

sql - 从存储过程 Transact-SQL SQL Server 中访问结果集

我正在使用 SQL Server 2005,我想知道如何从 transact-sql 中访问不同的结果集。以下存储过程返回两个结果集,例如,如何从另一个存储过程访问它们?

我需要能够单独遍历两个结果集。

编辑:只是为了澄清问题,我想测试存储过程。我有一组从 VB.NET 客户端使用的存储过程,它们返回多个结果集。这些不会更改为表值函数,实际上我根本无法更改程序。改变程序不是一种选择。

过程返回的结果集不是相同的数据类型或列数。

0 投票
16 回答
234906 浏览

sql-server - 如何使用 TSQL 检查数据库的 SQL Server 版本?

是否有系统存储过程来获取版本号?

0 投票
19 回答
171840 浏览

sql - 在 SQL 中选择 CHAR 而不是 VARCHAR 的用例是什么?

我意识到如果我的所有值都是固定宽度,则建议使用 CHAR。但是,那又怎样?为了安全起见,为什么不为所有文本字段选择 VARCHAR。

0 投票
2 回答
19043 浏览

sql - SQL 选择底部记录

我有一个查询,我希望检索最旧的 X 记录。目前我的查询是这样的:

我知道通常我会删除“DESC”关键字来切换记录的顺序,但是在这种情况下,我仍然希望首先获得以最新项目排序的记录。

因此,我想知道是否有任何方法可以执行此查询,以便对最旧的 X 项进行排序,使最新的项排在第一位。我还应该补充一点,我的数据库存在于 SQL Server 2005 上。