[转]sqlserver 数据类型 及使用考虑

<p>本文转自:<font><a href="http://www.cnblogs.com/auiso/archive/2006/09/02/492796.html" target="_blank">http://www.cnblogs.com/auiso/archive/2006/09/02/492796.html</a></font></p><p>在 microsoft? sql server? 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、<strong>money </strong>等等)的特性。sql server 提供系统数据类型集,定义了可与 sql server 一起使用的所有数据类型。下面列出系统提供的数据类型集。</p><p>可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 <a><u><font color="#0000ff">sp_addtype</font></u></a> 和<a><u><font color="#0000ff">创建用户定义的数据类型</font></u></a>。</p><p>当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:</p><ol><li>通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见<a><u><font color="#0000ff">数据类型的优先顺序</font></u></a>。<br><br></li> <li>如果结果数据类型为 <strong>char</strong>、<strong>varchar</strong>、<strong>text</strong>、<strong>nchar</strong>、<strong>nvarchar</strong> 或 <strong>ntext</strong>,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见<a><u><font color="#0000ff">排序规则的优先顺序</font></u></a>。<br><br></li> <li>结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见<a><u><font color="#0000ff">精度、小数位数和长度</font></u></a>。 </li></ol><p>sql server 为 sql-92 兼容性提供了数据类型同义词。有关更多信息,请参见<a><u><font color="#0000ff">数据类型同义词</font></u></a>。</p><h5>精确数字</h5><h6>整数</h6><p><a><u><font color="#0000ff">bigint</font></u></a></p><p>从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。</p><p><a><u><font color="#0000ff">int</font></u></a></p><p>从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。</p><p><a><u><font color="#0000ff">smallint</font></u></a></p><p>从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。</p><p><a><u><font color="#0000ff">tinyint</font></u></a></p><p>从 0 到 255 的整数数据。</p><h6>bit</h6><p><a><u><font color="#0000ff">bit</font></u></a></p><p>1 或 0 的整数数据。</p><h6>decimal 和 numeric</h6><p><a><u><font color="#800080">decimal</font></u></a></p><p>从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。</p><p><a><u><font color="#800080">numeric</font></u></a></p><p>功能上等同于 <strong>decimal</strong>。</p><h6>money 和 smallmoney</h6><p><a><u><font color="#0000ff">money</font></u></a></p><p>货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。</p><p><a><u><font color="#0000ff">smallmoney</font></u></a></p><p>货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。</p><h5>近似数字</h5><p><a><u><font color="#0000ff">float</font></u></a></p><p>从 -1.79e + 308 到 1.79e + 308 的浮点精度数字。</p><p><a><u><font color="#0000ff">real</font></u></a></p><p>从 -3.40e + 38 到 3.40e + 38 的浮点精度数字。</p><h5>datetime 和 smalldatetime</h5><p><a><u><font color="#0000ff">datetime</font></u></a></p><p>从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。</p><p><a><u><font color="#0000ff">smalldatetime</font></u></a></p><p>从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。</p><h5>字符串</h5><p><a><u><font color="#0000ff">char</font></u></a></p><p>固定长度的非 unicode 字符数据,最大长度为 8,000 个字符。</p><p><a><u><font color="#0000ff">varchar</font></u></a></p><p>可变长度的非 unicode 数据,最长为 8,000 个字符。</p><p><a><u><font color="#0000ff">text</font></u></a></p><p>可变长度的非 unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。</p><h5>unicode 字符串</h5><p><a><u><font color="#0000ff">nchar</font></u></a></p><p>固定长度的 unicode 数据,最大长度为 4,000 个字符。 </p><p><a><u><font color="#0000ff">nvarchar</font></u></a></p><p>可变长度 unicode 数据,其最大长度为 4,000 字符。<strong>sysname </strong>是系统提供用户定义的数据类型,在功能上等同于 <strong>nvarchar(128)</strong>,用于引用数据库对象名。</p><p><a><u><font color="#0000ff">ntext</font></u></a></p><p>可变长度 unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。</p><h5>二进制字符串</h5><p><a><u><font color="#0000ff">binary</font></u></a></p><p>固定长度的二进制数据,其最大长度为 8,000 个字节。</p><p><a><u><font color="#0000ff">varbinary</font></u></a></p><p>可变长度的二进制数据,其最大长度为 8,000 个字节。</p><p><a><u><font color="#0000ff">image</font></u></a></p><p>可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。</p><h5>其它数据类型</h5><p><a><u><font color="#0000ff">cursor</font></u></a></p><p>游标的引用。</p><p><a><u><font color="#0000ff">sql_variant</font></u></a></p><p>一种存储 sql server 支持的各种数据类型(<strong>text</strong>、<strong>ntext</strong>、<strong>timestamp</strong> 和 <strong>sql_variant </strong>除外)值的数据类型。</p><p><a><u><font color="#0000ff">table</font></u></a></p><p>一种特殊的数据类型,存储供以后处理的结果集。</p><p><a><u><font color="#0000ff">timestamp</font></u></a></p><p>数据库范围的唯一数字,每次更新行时也进行更新。</p><p><a><u><font color="#0000ff">uniqueidentifier</font></u></a></p><p>全局唯一标识符 (guid)。</p><div style="cursor: hand;"><h2>optimize sqlserver 3数据类型的考虑</h2><p>分类:<a href="http://zhoumins.bokee.com/cat.10100543.html"><font color="#8d8d8d">sqlserver</font></a></p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值