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

sql - Transact-SQL - 子查询还是左连接?

我有两个包含任务和注释的表,并且想要检索任务列表以及每个任务的关联注释数。这两个查询完成了这项工作:

它们之间有区别吗?我应该使用另一种,还是它们只是做同一工作的两种方式?谢谢。

0 投票
3 回答
3410 浏览

sql-server-2005 - SQL Server 2005 / XML 存储过程 - Unicode 到 ascii?(异常 0xc00ce508)

我这里有一个 MSSQL2005 存储过程,它应该将 XML 消息作为输入,并将其内容存储到表中。表字段是 varchars,因为我们的 delphi 后端应用程序无法处理 unicode。现在,传入的消息采用 ISO-8859-1 编码。一切都很好,直到超过 128 个标准集的字符被包括在内(在这种情况下,ÄÖäö,它是芬兰语的一个组成部分)。这会导致数据库服务器引发异常 0xc00ce508。数据库的默认值以及表和字段的排序规则设置为 latin1,这应该与 ISO-8859-1 相同。

使用 XML 子系统解析 XML 消息,如下所示:

以前,存储过程使用 nvarchar 进行输入,但由于这会导致古老的后端应用程序(Delphi 5 + ODBC)出现问题,我们不得不将字段切换为 varchars,此时一切都崩溃了。

我还尝试在开始时将 nvarchar 转换为 varchar,但结果是一样的。

0 投票
11 回答
128057 浏览

sql - 如何在 SQL Server 中对包含数字的 VARCHAR 列进行排序?

VARCHARSQL Server 2000数据库中有一个可以包含字母或数字的列。这取决于如何在前端为客户配置应用程序。

当它确实包含数字时,我希望它按数字排序,例如“1”、“2”、“10”而不是“1”、“10”、“2”。仅包含字母或字母和数字(例如“A1”)的字段可以按字母顺序正常排序。例如,这将是可接受的排序顺序。

实现这一目标的最佳方法是什么?

0 投票
6 回答
54495 浏览

sql-server - 在指定位置使用 T SQL 创建数据库

如何在指定位置使用 T SQL 脚本创建数据库?假设,我想在D:\temp\dbFolder. 这该怎么做?

0 投票
4 回答
1764 浏览

sql - 为什么即使不应该执行 T-SQL 块也会给出错误?

我正在编写一个(看似)直截了当的 SQL 片段,它在确保列存在后删除一列。
问题:如果该列不存在,IF 子句中的代码抱怨它找不到该列!嗯,doh,这就是为什么它在 IF 子句中!
所以我的问题是,为什么一段不应该执行的代码会出错?

这是片段:

...这是错误:

Error executing SQL script [...]. Invalid column name 'timeout'

我正在使用 Microsoft SQL Server 2005 Express Edition。

0 投票
84 回答
58860 浏览

sql-server - SQL Server 的隐藏特性

SQL Server有哪些隐藏的功能?

例如,未记录的系统存储过程,做一些非常有用但记录不足的事情的技巧?


答案

感谢大家的所有伟大的答案!

存储过程

  • sp_msforeachtable:运行带有“?”的命令 替换为每个表名(v6.5 及更高版本)
  • sp_msforeachdb:运行带有“?”的命令 替换为每个数据库名称(v7 及更高版本)
  • sp_who2:与 sp_who 类似,但有更多信息用于块故障排除(v7 及更高版本)
  • sp_helptext:如果要存储过程的代码,查看&UDF
  • sp_tables:返回范围内数据库的所有表和视图的列表。
  • sp_stored_procedures:返回所有存储过程的列表
  • xp_sscanf:将字符串中的数据读取到每个格式参数指定的参数位置。
  • xp_fixeddrives: : 找到可用空间最大的固定驱动器
  • sp_help:如果你想知道一个表的表结构、索引和约束。还有视图和 UDF。快捷键是 Alt+F1

片段

  • 以随机顺序返回行
  • 按上次修改日期的所有数据库用户对象
  • 仅返回日期
  • 查找日期在当前周内某处的记录。
  • 查找上周发生日期的记录。
  • 返回当前周开始的日期。
  • 返回上周开始的日期。
  • 查看已部署到服务器的过程的文本
  • 删除与数据库的所有连接
  • 表校验和
  • 行校验和
  • 删除数据库中的所有过程
  • 恢复后正确重新映射登录 ID
  • 从 INSERT 语句调用存储过程
  • 按关键字查找程序
  • 删除数据库中的所有过程
  • 以编程方式查询数据库的事务日志。

功能

  • 哈希字节()
  • 密钥加密
  • PIVOT 命令

杂项

  • 连接字符串附加功能
  • TableDiff.exe
  • 登录事件触发器(Service Pack 2 中的新增功能)
  • 使用持久计算列 (pcc) 提高性能。
  • sys.database_principles 中的 DEFAULT_SCHEMA 设置
  • 强制参数化
  • Vardecimal 存储格式
  • 在几秒钟内找出最受欢迎的查询
  • 可扩展的共享数据库
  • SQL Management Studio 中的表/存储过程过滤器功能
  • 跟踪标志
  • aGO重复批次后的编号
  • 使用模式的安全性
  • 使用带有触发器的内置加密函数、视图和基表进行加密
0 投票
20 回答
302454 浏览

sql - 将左侧的 varchar 填充到一定长度的最有效 T-SQL 方法?

相比而言:

0 投票
6 回答
153420 浏览

sql - 如何在一列中返回多个值(T-SQL)?

我有一个表UserAliasesUserId, Alias),每个用户有多个别名。我需要查询它并返回给定用户的所有别名,诀窍是将它们全部返回在一列中。

例子:

我想要以下格式的查询结果:

谢谢你。

我正在使用 SQL Server 2005。

ps 实际的 T-SQL 查询将不胜感激:)

0 投票
7 回答
50657 浏览

sql-server - SQL Server 2005:T-SQL 临时禁用触发器

是否可以禁用一批命令的触发器,然后在批处理完成时启用它?

我确信我可以放下触发器并重新添加它,但我想知道是否还有其他方法。

0 投票
11 回答
85923 浏览

sql - 如何在 T-SQL 中执行相当于“SHOW TABLES”的操作?

我想根据表名在我的 SQL Server 2005 Express 数据库中查找表。在MySQL我会使用SHOW TABLES LIKE "Datasheet%",但在T-SQL这会引发错误(它尝试查找SHOW存储过程并失败)。

这可能吗?如果可以,怎么做?