最近因为项目跟其他项目对接,两边采用的数据库不一样(我方采用的是sql server,而他们采用的是Oracle数据库),所以在获取数据时出现了一些问题。
因为sql server 数据库的特性,在设置字符串的时候默认选择的时不设置长度,默认为最大长度(sql server 特性 保存多长就用多大空间,并不会默认为用最大空间,这样节省空间,还有利于后期维护,不至于后期因为某些问题导致字段长度不够,需要修改数据库,这样很麻烦)。
在对接时,发现oracle 数据库把 nvarchar 当作大字段处理,导致读取不出来数据,需要我们提供的sql server 视图字段限制一下长度,这可把我难坏了,网上搜了半天也没有搜到,后来请教大神给解决掉了。现在把方法贴到下面,供大家参考,有什么不对之处,希望大家多多指教。
顺便说一下,创建视图,一般时create View,但是sql server 提供了可视操作,很简单。大家可以了解一下。
这样代码创建的视图字段的长度 是与table 表里的字段类型长度一个样的
create View view1 as select ID,identifier from table
create View view1 as select ID,CAST (Identifier, AS nvarchar(100)) AS Identifier from table
这样 视图里字段长度就改成设置的固定长度100了。