sqlserver逻辑型,sql逻辑类型

sqlserver 建表语句中,各种字段类型都有时,特别是日期型和逻辑型字段怎么表示? 字段名有中文合适吗?

sqlserver 建表, 日期类型, 要看你的数据库版本

成都网站建设哪家好,找创新互联公司!专注于网页设计、成都网站建设公司、微信开发、微信平台小程序开发、集团成都企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:封阳台等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞扬!

如果是 SQL 2000 / SQL 2005 的, 那么就只有 datetime / smalldatetime 类型

如果是 SQL 2008 的, 有 date, time, datetime, datetime2, smalldatetime

至于 逻辑型, 一般用 bit 数据类型来处理, 也就是 0/1 的方式来存储的。

至于 字段名有中文, 看个人/公司 喜好。建议不用。

毕竟不是每个人,都喜欢在写 SQL 语句的时候,还来回切换中文输入法的。

数据库常用的逻辑数据模型中SQL server2017属于

SQLServer是Microsoft公司推出的关系型数据库管理系统。

SQLServer是Microsoft公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2012的大型多处理器的服务器等多种平台使用。

MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。MicrosoftSQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

在定义数据表时,字符宽度不是固定的类型为

(1)整数型

整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的表示数范围逐渐缩小。

lbigint:大整数,数范围为-263(-9223372036854775808)~263-1(9223372036854775807),其精度为19,小数位数为0,长度为8字节。

lint:整数,数范围为-231(-2,147,483,648)~231-1(2,147,483,647),其精度为10,小数位数为0,长度为4字节。

lsmallint:短整数,数范围为-215(-32768)~215-1(32767),其精度为5,小数位数为0,长度为2字节。

ltinyint:微短整数,数范围为0~255,长度为1字节,其精度为3,小数位数为0,长度为1字节。

(2)精确整数型

精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以完整的精度存储十进制数。精确整数型包括decimal和numeric两类。从功能上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字的列。

声明精确整数型数据的格式是numeric|decimal(p[,s]),其中p为精度,s为小数位数,s的缺省值为0。例如指定某列为精确整数型,精度为6,小数位数为3,即decimal(6,3),那么若向某记录的该列赋值56.342689时,该列实际存储的是56.3427。

decimal和numeric可存储从-1038+1到1038–1的固定精度和小数位的数字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。

l精度为1~9时,存储字节长度为5;

l精度为10~19时,存储字节长度为9;

l精度为20~28时,存储字节长度为13;

l精度为29~38时,存储字节长度为17。

例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明numeric(22,5),则存储该类型数据需13字节。

注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。

(3)浮点型

浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值范围非常大且对精确度要求不是十分高的数值量,如一些统计量。

有两种近似数值数据类型:float[(n)]和real,两者通常都使用科学计数法表示数据,即形为:尾数E阶数,如5.6432E20,-2.98E10,1.287659E-9等。

lreal:使用4字节存储数据,表数范围为-3.40E+38到3.40E+38,数据精度为7位有效数字。

lfloat:定义中的n取值范围是1~53,用于指示其精度和存储大小。当n在1~24之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7位有效数字;当n在25~53之间时,存储长度为8字节,精度为15位有效数字。当缺省n时,代表n在25~53之间。float型数据的数范围为-1.79E+308到1.79E+308。

(4)货币型

SQLServer提供了两个专门用于处理货币的数据类型:money和smallmoney,它们用十进制数表示货币值。

lmoney:数据的数范围为-263(-922337203685477.5808)~263-1(922337203685477.5807),其精度为19,小数位数为4,长度为8字节。money的数的范围与bigint相同,不同的只是money型有4位小数,实际上,money就是按照整数进行运算的,只是将小数点固定在末4位。

lsmallmoney:数范围为–231(-2,147,48.3648)~231-1(2,147,48.3647),其精度为10,小数位数为4,长度为4字节。可见smallmoney与int的关系就如同money与bigint的关系。

当向表中插入money或smallmoney类型的值时,必须在数据前面加上货币表示符号($),并且数据中间不能有逗号(,);若货币值为负数,需要在符号$的后面加上负号(-)。例如:$15000.32,$680,$-20000.9088都是正确的货币数据表示形式。

(5)位型

SQLServer中的位(bit)型数据相当于其他语言中的逻辑型数据,它只存储0和1,长度为一个字节。但要注意,SQLServer对表中bit类型列的存储作了优化:如果一个表中有不多于8个的bit列,这些列将作为一个字节存储,如果表中有9到16个bit列,这些列将作为两个字节存储,更多列的情况依此类推。

当为bit类型数据赋0时,其值为0,而赋非0(如100)时,其值为1。

若表中某列为bit类型数据,那么该列不允许为空值(有关空值概念本节稍后即做介绍),并且不允许对其建立索引。

(6)字符型

字符型数据用于存储字符串,字符串中可包括字母、数字和其它特殊符号(如#、@、等等)。在输入字符串时,需将串中的符号用单引号或双引号括起来,如’abc’、”AbcCde”。

SQLServer字符型包括两类:固定长度(char)或可变长度(varchar)字符数据类型。

lchar[(n)]

定长字符数据类型,其中n定义字符型数据的长度,n在1到8000之间,缺省为1。当表中的列定义为char(n)类型时,若实际要存储的串长度不足n时,则在串的尾部添加空格以达到长度n,所以char(n)的长度为n。例如某列的数据类型为char(20),而输入的字符串为”ahjm1922”,则存储的是字符ahjm1922和12个空格。若输入的字符个数超出了n,则超出的部分被截断。

lvarchar[(n)]

变长字符数据类型,其中n的规定与定长字符型char中n完全相同,但这里n表示的是字符串可达到的最大长度。varchar(n)的长度为输入的字符串的实际字符个数,而不一定是n。例如,表中某列的数据类型为varchar(100),而输入的字符串为”ahjm1922”,则存储的就是字符ahjm1922,其长度为8字节。

当列中的字符数据值长度接近一致时,例如姓名,此时可使用char;而当列中的数据值长度显著不同时,使用varchar较为恰当,可以节省存储空间。

(7)Unicode字符型

Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储和处理。SQLServer的Unicode字符型可以存储Unicode标准字符集定义的各种字符。

Unicode字符型包括nchar[(n)]和nvarchar[(n)]两类。nchar是固定长度Unicode数据的数据类型,nvarchar是可变长度Unicode数据的数据类型,二者均使用UNICODEUCS-2字符集。

lnchar[(n)]:nchar[(n)]为包含n个字符的固定长度Unicode字符型数据,n的值在1与4,000之间,缺省为1。长度为2n字节。若输入的字符串长度不足n,将以空白字符补足。

lnvarchar[(n)]:nvarchar[(n)]为最多包含n个字符的可变长度Unicode字符型数据,n的值在1与4,000之间,缺省为1。长度是所输入字符个数的两倍。

实际上,nchar、nvarchar与char、varchar的使用非常相似,只是字符集不同(前者使用Unicode字符集,后者使用ASCII字符集)。

(8)文本型

当需要存储大量的字符数据,如较长的备注、日志信息等等,字符型数据的最长8000个字符的限制可能使它们不能满足这种应用需求,此时可使用文本型数据。

文本型包括text和ntext两类,分别对应ASCII字符和Unicode字符。text类型可以表示最大长度为231-1(2,147,483,647)个字符,其数据的存储长度为实际字符数个字节。ntext可表示最大长度为230-1(1,073,741,823)个Unicode字符,其数据的存储长度是实际字符个数的两倍(以字节为单位)。

(9)二进制型

二进制数据类型表示的是位数据流,包括binary(固定长度)和varbinary(可变长度)两种。

lbinary[(n)]:固定长度的n个字节二进制数据。n取值范围为1到8,000,缺省为1。binary(n)数据的存储长度为n+4字节。若输入的数据长度小于n,则不足部分用0填充;若输入的数据长度大于n,则多余部分被截断。

输入二进制值时,在数据前面要加上0x,可以用的数字符号为0—9、A—F(字母大小写均可)。因此,二进制数据有时也被称为十六进制数据。例如0xFF、0x12A0分别表示值FF和12A0。因为每字节的数最大为FF,故在“0x”格式的数据每两位占1个字节。

lvarbinary[(n)]:n个字节变长二进制数据。n取值范围为1到8,000,缺省为1。varbinary(n)数据的存储长度为实际输入数据长度+4个字节。

(10)日期时间类型

日期时间类型数据用于存储日期和时间信息,包括datetime和smalldatetime两类。

ldatetime:datetime类型可表示的日期范围从1753年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(3.33毫秒或0.00333秒),例如1到3毫秒的值都表示为0毫秒,4到6毫秒的值都表示为4毫秒。

datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4字节用于存储datetime类型数据中距1900年1月1日的天数,为正数表示日期在1900年1月1日之后,为负数则表示日期在1900年1月1日之前。后4个字节用于存储datetime类型数据中距12:00(24小时制)的毫秒数。

用户以字符串形式输入datetime类型数据,系统也以字符串形式输出datetime类型数据,将用户输入到系统以及系统输出的datetime类型数据的字符串形式称为datetime类型数据的“外部形式”,而将datetime在系统内的存储形式称为“内部形式”,SQLServer负责datetime类型数据的两种表现形式之间的转换,包括合法性检查。

用户给出datetime类型数据值时,日期部分和时间部分分别给出。

请教高手一个数据库添加列的问题

布尔型的没有,但是可以加个bit类型的代替,1为TRUE,0为FALSE。

Alter

表名

add

列名3

bit;

update

表名

set

列名3=1

where

列名1-列名20

update

表名

set

列名3=0

where

列名1-列名2=0

不过上面没有考虑列名1-列名20的情况,如果有,列3的值为NULL

访问sqlserver用什么语言好

其实现在语言都有各自的类库来访问SQL Server,最简单的就是ASP.NET,安装完VS2012后,全部都准备好了。也可以选择PHP,JSP等等,介绍一个ASP.NET的CMS软件,风讯,你可以去下载了练练手。

SQLServer 的逻辑运算符。ISNULL和IS NOT NULL的返回类型是什么?

ISNULL 和 IS NOT NULL 返回的是bool(true/false)

比如有一个参数@Name

你可判断 if @Name is null 返回的就是true / false


分享名称:sqlserver逻辑型,sql逻辑类型
当前地址:http://azwzsj.com/article/hdecgs.html