• MSSQL_1


    cast(变量 as  类型)
    convert(类型,变量)

    1. MSSQL 2005 基本数据类型

    1)字符串类型

    非unicode:char   最多存储8000个字符   char(10)

                        varchar   2^31.  变长 varchar(30)                  text

    unicode: nchar,nvarchar,ntext

    使用 UNICODE UCS-2 字符集(全球大部分字符都有)比如欧洲字母表很小,255个字符足够了。但是韩国,日本,中国的中文没办法全够。  unicode 使用2个字节,

    ,用2个字节表示一个字符。  即2^16=65536 字符

                 

    使用规则:当固定字长用char,变长varchar;       nchar,nvarchar是当不同国家字符在不同机器上 可以无误显示。

    2)数值类型

    精确数字
    bigint  8字节。 -2^63到2^63-1
    int  4字节 。  -2^31到2^31-1
    smallint 2字节   -2^16到2^16-1
    tinyint  1字节    0到255

    近似数字
    float
    real

    3)时间类型
    datetime  精确到3.33毫秒
    smalldatetime 精确到分钟

    4)

    二进制数据
    binary ,varbinary,image

    5)其他数据类型

    cursor
    timestamp  时间数字
    sql_variant
    uniqueidentifier
    table
    xml

    2.check 约束

    IF OBJECT_ID ('dbo.Vendors', 'U') IS NOT NULL
    DROP TABLE dbo.Vendors;
    GO
    CREATE TABLE dbo.Vendors
        (VendorID int PRIMARY KEY, VendorName nvarchar (50),
        CreditRating tinyint)
    GO
    ALTER TABLE dbo.Vendors ADD CONSTRAINT CK_Vendor_CreditRating
        CHECK (CreditRating >= 1 AND CreditRating <= 5)


     

     

    或者企业管理器编辑约束

    image右击ck_online_operate 

    //约束了creditRating只能插入 1-5之间的值

    select * from vendors

    insert into vendors values('1','sdf','6')   //插入的6大于5 就会报错

    执行结果:

    消息 547,级别 16,状态 0,第 1 行
    INSERT 语句与 CHECK 约束"CK_Vendor_CreditRating"冲突。该冲突发生于数据库"companyData",表"dbo.Vendors", column 'CreditRating'。
    语句已终止。

    *default 约束

    USE [companyData]
    GO
    ALTER TABLE [dbo].[companyKey] ADD  DEFAULT ((0)) FOR [isUsed]

  • 相关阅读:
    CSS3很强大
    Notepad++关闭时自动保留,不弹出提示保存对话框
    数据库中更新或插入表记录
    手动指定网卡优先顺序方法
    在Excel中转换时间戳(timeStamp)
    format z: /p:3 & cipher /w z:abc
    修改eclipse中M2_REPO变量值
    Windows 10 主题的图片位置
    MySQL中 delete from 时提示 1064 错误。
    left join 中 on 与 where 理解
  • 原文地址:https://www.cnblogs.com/StudyLife/p/3132216.html
Copyright © 2020-2023  润新知