为什么 SQL Server Management Studio 使用方括号生成代码?

发布于 2024-08-07 18:07:01 字数 358 浏览 2 评论 0原文

生成代码/脚本时,

  1. 为什么 SQL Server Management Studio 使用方括号而不是双引号生成代码?

    SELECT [NAME] FROM [TABLE]

  2. 有没有办法(设置/注册表项)将其配置为使用双引号(标准)?

    从“TABLE”中选择“NAME”

这是非常 MSFT 风格的功能,因为他们的所有文档现在都指示双引号(请参阅 这个)

When generating code/scripts,

  1. why does SQL Server Management Studio generate code using square brackets and not double-quotes?

    SELECT [NAME] FROM [TABLE]

  2. and is there a way (setting/registry entry) to configure it to use double-quotes (the standard) instead?

    SELECT "NAME" FROM "TABLE"

This is very MSFT-ty feature, given that all their documentation now indicate the double-quotes (see this)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

堇年纸鸢 2024-08-14 18:07:01

为什么sql-server(management studio)生成的代码使用方括号?

从[表]中选择[名称]

处理保留字或包含空格的名称。

方括号是封装标识符的原生方式。它们是不对称的并且可以不匹配,而引号是对称的并且应该匹配(或加倍以将它们包含在名称中):

CREATE TABLE [[test] (id INT)
CREATE TABLE ["test] (id INT)
DROP TABLE "[test"
DROP TABLE """test"

why does sql-server (management studio) generate code using square brackets?

SELECT [NAME] FROM [TABLE]

To cope with the names that are reserved words or contain whitespaces.

Square brackets are the native way to wrap the identifiers to. They are asymmetrical and can be unmatched, while the quotes are symmetrical and should be matched (or doubled to include them into the name):

CREATE TABLE [[test] (id INT)
CREATE TABLE ["test] (id INT)
DROP TABLE "[test"
DROP TABLE """test"
浪菊怪哟 2024-08-14 18:07:01

您的链接至少对我来说解释了原因。括号不依赖于设置,但 " 的有效性取决于 QUOTED_IDENTIFIER 设置。

Your link explains why, at least to me. The brackets are not setting-dependant, but the validity of " depends on the QUOTED_IDENTIFIER setting.

风轻花落早 2024-08-14 18:07:01

要回答问题的另一半,SQL Server Management Studio 中有一个解决方法,使用“全部替换”命令 (Ctrl+H):

  • 查找内容:[ \[\]]
  • 替换为:"
  • 检查“使用:”并选择“正则表达式”
  • 按“全部替换”

请记住,这也将替换评论中出现的括号。

To answer the other half of your question, there is a workaround in SQL Server Management Studio with the Replace All command (Ctrl+H):

  • Find what: [\[\]]
  • Replace with: "
  • Check "Use:" and select "Regular expressions"
  • Press "Replace All"

Have in mind that this will also replace occurrences of brackets in your comment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文