【问题标题】:Difference between data_type(length) (length specifed) and data_type __ (No length specifed) in SQLSQL中data_type(length)(指定长度)和data_type __(未指定长度)的区别
【发布时间】:2015-11-30 10:29:22
【问题描述】:

data_type(length)(指定长度)有什么区别 SQL 中的 data_type __(未指定长度)

例如:-Datetime2(7)和datetime2

我的意思是sql的默认长度是多少

【问题讨论】:

  • Documentation 是你的朋友。
  • 感谢您的帮助。如果我们不指定长度,它不会提及它考虑的值(长度)。
  • 来自同一个链接:“0 到 7 位,精度为 100ns。默认精度为 7 位。”
  • 谢谢你们。只是确认它意味着 datetime2 = datetime2(7) 对吗?同样,它因其他数据类型而异。取决于文档?

标签: sql-server sql-server-2008 sqldatatypes


【解决方案1】:

您必须查看每种可变长度类型的文档:MSDN

最好指定数据所需的正确长度。如果需求发生变化,您也可以稍后更改该列,它恰好太大或太小。

它们都有不同的默认值、选项和特殊情况。 您必须仔细阅读它,因为对于 1 个给定类型,默认长度可能会有所不同。使用 char 和 varchar:

当在数据定义或变量声明语句中未指定 n 时,默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30

您还可以使用 sp_help 了解类型的最大长度和精度以及其他信息:

sp_help datetime2

Type_name | Storage_type | Length | Prec | Scale | Nullable | Default_name | Rule_name | Collation
datetime2 | datetime2    | 8      | 27   | 7     | yes      | none         | none      | NULL

【讨论】:

    猜你喜欢
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多