直接设置nvarchar()类型支持的最大值4000,nvarchar为变长类型,不足该长度则返回实际长度,超过该长度则返回前4000字符。
CREATE FUNCTION dbo.sayHello ()
RETURNS nvarchar(4000)
AS
BEGIN
RETURN ("您好,世界" )
END
CREATE FUNCTION dbo.sayHello ()
RETURNS nvarchar(4000)
AS
BEGIN
RETURN ("您好,世界" )
END
调试欢乐多
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。
nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。
函数也能返回表的!varchar[(n)]长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。
返回一个未知长度的字符串(非常大)----->有多大?还是那句话: 未知...
能当作∞处理吗?谢谢!
能当作∞处理吗?谢谢!
----------------------------------------------------------------------------------------------------------------------------
不能,varchar()支持的最大长度是8000字节;即便是text类型,最大也只支持2GB,况且函数似乎不能返回text类型。
返回一个未知长度的字符串(非常大)----->有多大?还是那句话: 未知...
能当作∞处理吗?谢谢!
---------------------------------------------
这样处理行吗??CREATE FUNCTION dbo.sayHello()
RETURNS @t table(Texts text)
AS
BEGIN
INSERT INTO @T SELECT '您好,世界'
RETURN
ENDtext服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。