数据库如何修改字段的数据类型型,为什么整个数据库大小翻

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
╰◇◆◇ヽ 幸福要掌握在自己的手中╮而不是在别人的嘴里╰╮。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(5968)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'常用数据库的字段类型及大小',
blogAbstract:'.SYBASE的字段类型如下:&',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'╰◇◆◇ヽ 幸福要掌握在自己的手中╮而不是在别人的嘴里╰╮。',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}数据库字段类型与实体类类型不一致怎么做反射? - ITeye问答
我想封装对jdbc的操作,现遇到一个问题,比如说我数据库里有一个字段price是number型的,但我实体类里是String的,我在做反射的时候就有问题,代码结构如下:
//是需要组装的对象
Field field //是o对象中的一个属性
String methodName //方法名
Object value //是从数据库中得到的值,
Method method = o.getClass().getMethod(methodName,field.getType());
method.invoke(o, value);
因为field的类型和value的类型不一至,所以method.invoke(o, value);时报错。我试过用class.cast()来转型,但这样是不行的。
请各位朋友帮你看看这个问题,谢谢了!
问题补充:这个问题我自己已经解决了,做了一下类型转换,先只写了一个String,其他类型的同理
Object type=field.getType().newInstance();
if(type instanceof String){
value=(value==null)?"":value.toString();
}
sorry,按错键了,接着来,如果你的目标bean如下
class Student{
&& private S
&&
&& public void setName(String name){
&&&&& this.name =
&& }
}
method.invoke(o, value);
你传一个非String类型的数据去调用setName(String name),肯定会错,把从数据库拿出来的数据转换成相应的字符串形式,在调用method.invoke(o, value);就没有问题,你可以试一下
通过JDBC从数据库里面拿出来的数据类型对于number来说有多重可能,看你是用的什么类型,你的目标是String类型,必须要转换成String.
例如
class Student{
& private S
可以试试 beanutils
已解决问题
未解决问题ArcGIS&字段数据类型教程-ArcGIS入门与应用-技术专栏-GIS空间站
http://www.gissky.net- GIS空间站
网站资讯通告:
您现在的位置:&&>>&&>>&&>>&&>>&正文
ArcGIS&字段数据类型教程
创建要素类和表时,请为各字段选择数据类型。可用的类型包括多种数字类型、文本类型、日期类型、二进制大对象 (BLOB) 或全局唯一标识符 (GUID)。选择正确的数据类型可以正确存储数据,并且便于分析、数据管理和满足业务需求。
本主题中介绍的数据类型包括在 ArcGIS 中创建要素类或表时可用的数据类型。如果将数据存储在 ArcSDE 地理数据库、个人地理数据库或数据库中,ArcGIS 中的数据类型与数据库管理系统 (DBMS) 中的数据类型可能无法直接匹配。这些类型将与可在 DBMS 中获得的最接近的数据类型进行匹配。此过程称为数据类型映射。在此过程中,这些值可能会作为另一种类型存储在 DBMS 中,并且数据属性也将应用其他条件。因此,您在 ArcGIS for Desktop 的表或要素类属性中看到的数据类型可能与您最初定义的数据类型有所不同。
此外,其他数据存储格式,例如 shapefile 或 dbf 表具有不同的数据类型限制。当您在各种数据存储类型之间移动数据时,一定要了解目标存储格式的数据类型和大小限制。
数字可存储为以下四种数值数据类型中的一种类型:
浮点型(单精度浮点数)
双精度型(双精度浮点数)
选择数据类型时,首先应考虑需要存储整数还是小数。如果仅需存储整数(如 12 或 12,345,678),可指定短整型或长整型。如果需要存储含有小数数位的小数(如 0.23 或 ),可指定浮点型或双精度型。
其次,如果需要在短整型与长整型之间或者浮点型与双精度型之间做出选择,请选择存储空间占用最小的数据类型。这不仅会使所需存储量降至最低,而且还会提高性能。如果仅需要存储介于 -32,768 与 32,767 之间的整数,可指定短整型数据类型,因为它仅占用 2 个字节,而长整型数据类型却会占用 4 个字节。如果仅需要存储介于 -3.4E38 与 1.2E38 之间的小数,可指定浮点型数据类型,因为它占用 4 个字节,而双精度数据类型却会占用 8 个字节。下表列出了各数据类型以及各自的数值范围和存储要求。此处列出的数值范围适用于文件地理数据库和个人地理数据库。但在 ArcSDE 地理数据库和数据库中,数值范围略有不同。
可存储的数值范围
大小(字节)
-32,768 至 32,767
特定数值范围内不含小数值的数值;编码值
-2,147,483,648 至 2,147,483,647
特定数值范围内不含小数值的数值
浮点型(单精度浮点数)
约为 -3.4E38 到 1.2E38
特定数值范围内包含小数值的数值
双精度型(双精度浮点数)
约为 -2.2E308 到 1.8E308
特定数值范围内包含小数值的数值ArcGIS 数据类型表
如果要为文件地理数据库或个人地理数据库中的表指定数值字段,仅需指定数据类型。如果要为数据库或 ArcSDE 地理数据库指定数值字段,则还需要指定精度(字段的最大长度)和范围(小数位的最大数量)。
指定精度和小数位数可限制字段可接受的值范围和数字格式,便于您更好地加以控制。例如,如果您指定精度为 4、小数位数为 2 的浮点型,则字段将接受 12.34。如果要在字段中输入 12.345,则会显示错误消息,因为这超出了所允许的最大位数和小数位数。但是,如果您指定精度为 5、小数位数为 3 的浮点型,则字段允许您输入 12.345。
下表中列出了数据类型及其可能的精度值和范围值。使用此表有助于为数据库和 ArcSDE 地理数据库选择数据类型、精度和范围。
精度(字段长度)
范围(小数位数)
1–5(Oracle、SQL Server、PostgreSQL、Netezza);5(DB2、Informix)
6–10(Oracle 和 PostgreSQL);6–9(DB2、Informix、Netezza 和 SQL Server)
<P id=GUID-BE496C9F-B080-4DA0-88B8-487B
<P id=GUID-E9DB88E0-562A-45B1-AC90-19B+
<P id=GUID-AE72447F-BE7E-49F3-A2BF-DEB0+
*默认情况下,在 ArcGIS for Desktop 中,创建的短整型的精度为 5。但是,短整型列只能存储处于范围 -32,768 到 32,767 之间的值。因此,即使将精度设置为 5,还是无法在短整型字段中存储大于 32,767 或小于 -32,768 的值。无需在任何数据库(Oracle 除外)中为在 ArcGIS for Desktop 中创建的短整型列指定精度。并且也无需在 SQL Server 或 PostgreSQL 数据库中为在 ArcGIS for Desktop 中创建的长整型列指定精度。
下表提供了一些数字范围以及如何将它们存储在 ArcSDE 地理数据库中或数据库中的示例:
精度(字段长度)
范围(小数位数)
<P id=GUID-5E0CD5EE-AEF2-40AB-B807-0B93D 到 99*
0 到 32,767*
<P id=GUID-93F64EEF-854A-173E,768 至 99,999
<P id=GUID-C36077BA-CA12-3BB
0.001 至 0.999
1,000.00 至 9,999.99
-123,456.78 到 0*
0 至 1,234.56789
5数字范围、数据类型、精度和范围的示例
*负数需要额外的精度存储负号。
计算机仅能存储有限的位数,具体情况取决于分配的存储空间。数据库以及文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中双精度型数据的字段可精确地存储最多仅包含 15 位数的数字,因为这是可存入 8 字节空间的最长数字。位于多于此值的数字将被四舍五入,然后以类似于科学记数法的格式进行存储,使它们仅为近似数字。例如,如果输入包含 20 位的数字 12,345,678,901,234,567,890,则该数字将四舍五入,然后存储为包含 15 位的数字 1.46E+19。结尾的编码值 E+19 可限定小数点的放置位置。
文件地理数据库和个人地理数据库中的浮点型可精确地存储最多仅包含 6 位的数字。例如,无法将数字 123,456.7 精确地存储到浮点型字段中,因为此数字包含的位数多于六个。此数字仍可输入到文件地理数据库或个人地理数据库的浮点型字段中,但将四舍五入为包含允许的 6 位数的数字 123,457。如果需要精确地存储此数字,可将其存储在双精度字段中。ArcSDE 地理数据库和数据库中的浮点型字段严格禁止输入超过该字段精度位数的数字,因此并不会进行四舍五入。
文本字段表示一系列字母数字符号。其中可包括街道名称、特性属性或其他文本描述。在地理数据库中重复使用文本属性的替代方法是建立编码值。文本描述可通过数值进行编码。例如,您可以通过数值对道路类型进行编码:将 1 指定给铺好的改良路面、将 2 指定给碎石路面等等。这样做的好处是减少地理数据库中占用的存储空间;但是,这些编码值必须为数据用户所了解。如果在地理数据库的编码值域中定义编码值并将该域与存储编码的整型字段相关联,则在 ArcMap 或 ArcCatalog 中查看该表时,地理数据库将显示文本描述。
文本中所用字符视语言而定。为了在各种语言之间更方便地转换文本,ArcGIS 将使用 Unicode 对字符进行编码。
日期数据类型可存储日期、时间或同时存储日期和时间。显示信息的默认格式为 mm/dd/yyyy hh:mm:ss,同时还将指定 AM 或 PM。通过 ArcGIS 在表中输入日期字段时,输入的数据将转换为此格式。
BLOB 是一种存储为长度较长的一系列二进制数的数据。ArcGIS 会将注记和尺寸存储为 BLOB,图像、多媒体或编码的位等项也可存储在此类型的字段中。您需要通过自定义的加载器、查看器或第三方应用程序将这些项加载到 BLOB 字段中或者查看 BLOB 字段的内容。
对象标识符
ObjectID 字段由 ArcGIS 维护并保证表中每行具有唯一 ID。查看某个表或某个图层的属性表时,您通常会发现,ObjectID 字段以别名 OID 或 ObjectID(表)或 FID(图层)列出。主要功能(如滚动和显示选择集)将取决于此字段的显示情况。
值得注意的是,大多数 ArcGIS for Desktop 功能(如使用“识别”工具)均要求 ObjectID 必须唯一。因此,在 ArcGIS 之外直接处理数据库时须谨慎,避免出现重复的 ObjectID。例如,按照一对多的关系创建视图时,便可能会使 ObjectID 重复。从而导致 ArcGIS for Desktop 功能的表现不一致。
当您向 ArcMap 中添加数据库表时,需要使用对象标识符。如果 ArcGIS 无法找到非空整型字段作为对象标识符,则系统将提示您选择要用作对象标识符的字段。
全局标识符
全局 ID 和 GUID 数据类型可存储注册表样式的字符串,该字符串包含用大括号括起来的 36 个字符。这些字符串用于唯一识别单个地理数据库中和跨多个地理数据库的要素或表行。这就是在单向和双向地理数据库复制操作中跟踪要素的方法。开发人员可在关系中或者在需要全局唯一标识符的任何应用程序中使用这些字符串。在某关系中,如果“全局 ID”字段是原始键,则 GUID 字段必须为目标键。右键单击目录树中的数据集,然后单击添加全局 ID,可将全局 ID 添加到地理数据库中的数据集。然后,地理数据库将自动保留这些值。也可以创建 GUID 字段,但是必须自行保留该字段的值。
包含本地 GUID 数据类型的数据库(如个人地理数据库和 Microsoft SQL Server)会将全局 ID 和 GUID 存储为 16 个字节的值。不含有本地 GUID 数据类型的数据库会将它们存储为 38 个字节的值。
有关全局 ID 的一些注意事项
要将 GUID 字段添加到地理数据库数据集,可使用要素的属性 对话框中的字段选项卡或表窗口中的添加字段命令。
添加全局 ID 命令适用于地理数据库中的独立要素类、表和具有属性的关系类。不允许对要素数据集中的单个数据集执行此命令,仅可针对整个要素数据集运行此命令。也不能针对数据库中的表运行此命令。
如果已经存在“全局 ID”列,则此命令将保留原有列;它不会删除原有列并添加新的“全局 ID”列。
如果在地理数据库中将某个要素类添加到要素数据集中并要向其中添加一个“全局 ID”列,则需要针对该要素数据集运行添加全局 ID 命令。此操作将为新要素类以及尚未创建“全局 ID”列的所有其他要素类添加“全局 ID”列。已经含有“全局 ID”列的要素类将保持不变。
对于复制与粘贴、数据提取和 XML 工作空间导出及导入操作,各全局 ID 值在输出地理数据库中将得到保留。对于其他数据导出及导入方法,这些值将不会保留。
字段类型栅格
与仅将要素的字段链接到某图像的超链接不同,字段类型栅格实际上可在地理数据库中存储栅格数据或者将该数据与地理数据库一同存储。
在 ArcGIS 中,几何数据类型用于指示表中所存储几何的类型(点、线、面、多点或多面体)。通过 ArcGIS 创建的存储为几何类型的字段称为 SHAPE。
“类型”为面的新要素类
几何类型属于 ArcGIS 使用的数据类型。例如,如下所示,如果为新要素类选择面要素,则默认添加的 SHAPE 字段的 ArcGIS 数据类型将设为“几何”。
在新建要素类 对话框的字段属性部分中,可以看到列出的几何类型为“面”。
数据类型与几何类型
如果创建过其他要素类型的要素类,如线、点、多点、多面体、尺寸或注记,则 SHAPE 字段的几何类型也将相应地变为线、点、多点、多面体或者面(尺寸和注记)。
在数据库或 ArcSDE 地理数据库的要素类中创建几何字段时,需要考虑另外一种数据类型:数据库数据类型。在 DBMS 中存储 SHAPE 字段值的方式将取决于 DBMS 使用的几何存储类型。当在数据库中创建要素类时,您可在新建要素类 对话框的字段属性部分中定义字段的空间类型。在地理数据库中创建要素类时,使用的几何存储类型由您指定的配置关键字中的 GEOMETRY_STORAGE 参数设置来确定。
上一篇文章: 下一篇文章:
相关文章列表
关于我们 - 联系我们 - 广告服务 - 友情链接 -在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
表中性别的数据类型设成nchar(1)在jsp页面执行插入时报错说截断字符串或二进制数据 改成其他类型的可以插入成功 但是性别这一栏文字不能显示结果变成符号了
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。SQL 数据类型
SQL 数据类型
Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。
Microsoft Access 数据类型
用于文本或文本与数字的组合。最多 255 个字符。
Memo 用于更大数量的文本。最多存储 65,536 个字符。
注释:无法对 memo 字段进行排序。不过它们是可搜索的。
允许 0 到 255 的数字。
允许介于 -32,768 到 32,767 之间的数字。
允许介于 -2,147,483,648 与 2,147,483,647 之间的全部数字
单精度浮点。处理大多数小数。
双精度浮点。处理大多数小数。
用于货币。支持 15 位的元,外加 4 位小数。
提示:您可以选择使用哪个国家的货币。
AutoNumber
AutoNumber 字段自动为每条记录分配数字,通常从 1 开始。
用于日期和时间
逻辑字段,可以显示为 Yes/No、True/False 或 On/Off。
在代码中,使用常量 True 和 False (等价于 1 和 0)
注释:Yes/No 字段中不允许 Null 值
Ole Object
可以存储图片、音频、视频或其他 BLOBs (Binary Large OBjects)
包含指向其他文件的链接,包括网页。
Lookup Wizard
允许你创建一个可从下列列表中进行选择的选项列表。
MySQL 数据类型
在 MySQL 中,有三种主要的类型:文本、数字和日期/时间类型。
Text 类型:
CHAR(size)
保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。
VARCHAR(size)
保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。
注释:如果值的长度大于 255,则被转换为 TEXT 类型。
存放最大长度为 255 个字符的字符串。
存放最大长度为 65,535 个字符的字符串。
用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。
MEDIUMTEXT
存放最大长度为 16,777,215 个字符的字符串。
MEDIUMBLOB
用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。
存放最大长度为 4,294,967,295 个字符的字符串。
用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。
ENUM(x,y,z,etc.)
允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。
注释:这些值是按照你输入的顺序存储的。
可以按照此格式输入可能的值:ENUM('X','Y','Z')
与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。
Number 类型:
TINYINT(size)
-128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。
SMALLINT(size)
-32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。
MEDIUMINT(size)
-8388608 到 8388607 普通。0 to
无符号*。在括号中规定最大位数。
常规。0 到
无符号*。在括号中规定最大位数。
BIGINT(size)
-4775808 到 4775807 常规。0 到
无符号*。在括号中规定最大位数。
FLOAT(size,d)
带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d)
带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d)
作为字符串存储的 DOUBLE 类型,允许固定的小数点。
* 这些整数类型拥有额外的选项 UNSIGNED。通常,整数可以是负数或正数。如果添加 UNSIGNED 属性,那么范围将从 0 开始,而不是某个负数。
Date 类型:
日期。格式:YYYY-MM-DD
注释:支持的范围是从 '' 到 ''
DATETIME()
*日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS
注释:支持的范围是从 ' 00:00:00' 到 ' 23:59:59'
TIMESTAMP()
*时间戳。TIMESTAMP 值使用 Unix 纪元(' 00:00:00' UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS
注释:支持的范围是从 ' 00:00:01' UTC 到 ' 03:14:07' UTC
时间。格式:HH:MM:SS
注释:支持的范围是从 '-838:59:59' 到 '838:59:59'
2 位或 4 位格式的年。
注释:4 位格式所允许的值:1901 到 2155。2 位格式所允许的值:70 到 69,表示从 1970 到 2069。
* 即便 DATETIME 和 TIMESTAMP 返回相同的格式,它们的工作方式很不同。在 INSERT 或 UPDATE 查询中,TIMESTAMP 自动把自身设置为当前的日期和时间。TIMESTAMP 也接受不同的格式,比如 YYYYMMDDHHMMSS、YYMMDDHHMMSS、YYYYMMDD 或 YYMMDD。
SQL Server 数据类型
Character 字符串:
固定长度的字符串。最多 8,000 个字符。
varchar(n)
可变长度的字符串。最多 8,000 个字符。
varchar(max)
可变长度的字符串。最多 1,073,741,824 个字符。
可变长度的字符串。最多 2GB 字符数据。
Unicode 字符串:
固定长度的 Unicode 数据。最多 4,000 个字符。
nvarchar(n)
可变长度的 Unicode 数据。最多 4,000 个字符。
nvarchar(max)
可变长度的 Unicode 数据。最多 536,870,912 个字符。
可变长度的 Unicode 数据。最多 2GB 字符数据。
Binary 类型:
允许 0、1 或 NULL
固定长度的二进制数据。最多
8,000 字节。
varbinary(n)
可变长度的二进制数据。最多
8,000 字节。
varbinary(max)
可变长度的二进制数据。最多
2GB 字节。
可变长度的二进制数据。最多 2GB。
Number 类型:
允许从 0 到 255 的所有数字。
允许从 -32,768
到 32,767 的所有数字。
允许从 -2,147,483,648 到 2,147,483,647 的所有数字。
允许介于 -9,223,372,036,854,775,808 和 9,223,372,036,854,775,807 之间的所有数字。
decimal(p,s)
固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。
p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。
s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
numeric(p,s)
固定精度和比例的数字。允许从 -10^38 +1 到 10^38 -1 之间的数字。
p 参数指示可以存储的最大位数(小数点左侧和右侧)。p 必须是 1 到 38 之间的值。默认是 18。
s 参数指示小数点右侧存储的最大位数。s 必须是 0 到 p 之间的值。默认是 0。
smallmoney
介于 -214,748.3648 和 214,748.3647 之间的货币数据。
介于 -922,337,203,685,477.5808 和 922,337,203,685,477.5807 之间的货币数据。
从 -1.79E + 308 到 1.79E + 308 的浮动精度数字数据。
参数 n 指示该字段保存 4 字节还是 8 字节。float(24) 保存 4 字节,而 float(53) 保存 8 字节。n 的默认值是 53。
4 或 8 字节
从 -3.40E + 38 到 3.40E + 38 的浮动精度数字数据。
Date 类型:
从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 3.33 毫秒。
从 1753 年 1 月 1 日 到 9999 年 12 月 31 日,精度为 100 纳秒。
smalldatetime
从 1900 年 1 月 1 日 到 2079 年 6 月 6 日,精度为 1 分钟。
仅存储日期。从 0001 年 1 月 1 日 到 9999 年 12 月 31 日。
仅存储时间。精度为 100 纳秒。
datetimeoffset
与 datetime2 相同,外加时区偏移。
8-10 bytes
存储唯一的数字,每当创建或修改某行时,该数字会更新。timestamp 基于内部时钟,不对应真实时间。每个表只能有一个 timestamp 变量。
其他数据类型:
sql_variant
存储最多 8,000 字节不同数据类型的数据,除了 text、ntext 以及 timestamp。
uniqueidentifier
存储全局标识符 (GUID)。
存储 XML 格式化数据。最多 2GB。
存储对用于数据库操作的指针的引用。
存储结果集,供稍后处理。}

我要回帖

更多关于 数据库字段的数据类型修改查阅导向 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信