不同数量的nvarchar有什么区别?

时间:2016-07-12 04:24:46

标签: sql sql-server nvarchar

我在一周前才开始学习SQL,我注意到在SQL Server中,字符串可以是nvarchar(5)nvarchar(20)类型或任何其他数字。我只是想知道不同数量的nvarchar之间有什么区别?

2 个答案:

答案 0 :(得分:1)

这是您所指的声明性陈述。

通过声明,这是一种声明方法。 MySQL根据上下文有不同的规则,因此值得花时间了解语法。

在SQL中,例如MySQL,有一些数据类型可以是可变长度的。

你看到的是NVARCHAR长度不同的声明性陈述。

<DATA TYPE> (<character length>)
 NVARCHAR(5) -- 5 unicode characters long.
 NVARCHAR(20) -- unicode length of 20 characters

如果未指定长度,则这些类型的数据将为一个字符长度。所以这就是标准允许括号声明的原因。

语法差异的示例:

DECLARE @string NVARCHAR(5);

SELECT CAST(<some_column> AS NVARCHAR(20)
FROM <some_table>

CREATE TABLE <schema_name>.<table_name>
( firstColumn NVARCHAR(20) NOT NULL
, secondColumn INT not null)

与许多语言一样,除非存在限制以防止溢出输入,否则任何大于长度的字符的插入都会得到TRUNCATED ...或者切断以适应列内部。

答案 1 :(得分:1)

数字代表内容长度。在定义为nvarchar(5)的列或变量中,您可以放置​​一个5个字符长的unicode字符串。在定义为nvarchar(20)的列或变量中,您可以放置​​一个长度为20个字符的unicode字符串 这是sql中非常基本的东西,我建议你阅读一篇很好的sql教程,然后带着更高级的问题来到这里。