2017-08-29 144 views
0

使用node.js并将其与MSSQL重新对齐,我该如何定义一个NVARCHAR(MAX)字段?如何定义一个带有后缀的NVARCHAR(MAX)字段?

+0

转换MSSQL中的数据项将是:convert(varchar(max),fie LD)作为领域 - 使用MAX是不是很好的做法,但是,因为这是只有文本如果在关联的MS产品,如访问使用 - 我会限制可用字符最大255尽可能 – jimmy8ball

+0

谢谢,但我特别需要nvarchar(最大) (用于存储JSON) – joniba

回答

4

如果您将数据类型作为TEXT在Sequelize 中提供,它将自动将该字段转换为NVARCHAR(MAX)用于SQL Server数据库。

我不能文档

在发现这不过是Sequelize github repository提到从线79到90.这里

粘贴代码片段:

TEXT.prototype.toSql = function toSql() { 
    // TEXT is deprecated in mssql and it would normally be saved as a non-unicode string. 
    // Using unicode is just future proof 
    if (this._length) { 
     if (this._length.toLowerCase() === 'tiny') { // tiny = 2^8 
     warn('MSSQL does not support TEXT with the `length` = `tiny` option. `NVARCHAR(256)` will be used instead.'); 
     return 'NVARCHAR(256)'; 
     } 
     warn('MSSQL does not support TEXT with the `length` option. `NVARCHAR(MAX)` will be used instead.'); 
    } 
    return 'NVARCHAR(MAX)'; 
    }; 

正如你可以看到SQL服务器不支持TEXT字段,所以它会将其转换为NVARCHAR(MAX)

+1

谢谢!我希望他们能记录这些东西...... – joniba

相关问题