sql-server – sp_help中的FixedLenNullInSource是什么意思?
看看FixedLenNullInSource是为了兼容SQL 2000,但它毕竟意味着什么? 办理要领在SQL Server 2008中,sp_help的界说表现,假如列可觉得空而且varbinary,varchar,binary,char之一,则将其硬编码为返回“yes”'FixedLenNullInSource' = CASE WHEN Type_name(system_type_id) NOT IN ( 'varbinary','varchar','binary','char' ) THEN '(n/a)' WHEN is_nullable = 0 THEN @no ELSE @yes END 在SQL Server 2000中,它的界说差异 'FixedLenNullInSource' = case when type_name(xtype) not in ('varbinary','char') Then '(n/a)' When status & 0x20 = 0 Then @no Else @yes END /* ... */ from syscolumns SQL Server 2000中syscolumns中stats位的寄义没有完备记录,但我发明白一个SQL Server 7.0 SP4 upgrade script,它将列值配置如下(0x20 =十进制32) + CASE WHEN (type_name(xtype) IN ('text','image') AND (colstat & 0x2000)!=0) OR (type_name(xtype) IN ('binary','char','timestamp') AND (typestat&1)=0 ) THEN 32 ELSE 0 END -- COL_FIXEDNULL,COL_NONSQLSUB 我在谷歌搜刮COL_FIXEDNULL或COL_NONSQLSUB时找不到更多的附加信息,但确实发明SQL Server 7中牢靠长度数据范例的NULL值存储已变动.在早年的版本中,可空的牢靠长度数据范例凭证静默方法转换为变量下表. +----------------------------+-----------+ | char | varchar | | nchar | nvarchar | | binary | varbinary | | datetime | datetimn | | ?oat | ?oatn | | int,smallint,and tinyint | intn | | decimal | decimaln | | numeric | numericn | | money and smallmoney | moneyn | +----------------------------+-----------+ 有关SQL Server的常识,请拜见常识库文章463166(only available in French),以及查察呈现的Sybase文档,即still the case in that product. 从SQL Server 7.0开始,NULL CHAR(100)列占用了行的牢靠长度数据部门中的整个声明的牢靠列长度(直到2008年引入了稀少列 – 这再次改变了举动). 我假设syscolumns.status中的这个位区分了两种差异的存储名目. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 中国联通5G稳了 实测速度根基万能到达900Mbps+
- mysql – ActiveRecord在Ruby 1.9.2-rc1下以ASCII-8Bit返回
- Fireworks怎么快速建设网页icon图标元素?
- MySQL中Sending data查询慢怎么办
- 2021中国国际涂料博览会暨第二十一届中国国际涂料展览会发布
- 【钛晨报】腾讯音乐上市首日收盘价14美元,大涨7.69%
- 微软Surface笔记本电脑可能配备Intel Core i5-1035G1,最高
- 新iPhone开始预售,12799元款最抢手,硬件本钱被曝不敷3000
- 科技6点半:OPPO Reno2来了/vivo NEX3如约将至
- Oracle中大批量删除数据的解决措施