Create Type 的话呢,是创建一个自定义的数据类型,等于说为常用的数据类型建造一个别名的样纸。然后就可以通用当前数据库的当前架构。(当然了,一般来说我们都是使用dbo架构,所以都会无事前面那个说明)╮(╯_╰)╭。

下面我来演示一下相关内容

最简单的先创建一个类型TS,然后把它查出来。虽然看起来类型是 TS,但是实际上查看变量的数据类型,还是varchar ,还是对准了基础类型。所以虽然比如我们定义了一个char(11) 的Phone 类型,又或者是一个 char(1) 的Sex,实际上看到的描述,也还是它的定义的类型。

CREATE TYPE TS FROM varchar(50)

DECLARE @AA TS = ''
SELECT SQL_VARIANT_PROPERTY(@AA,'BaseType') --
varchar

然后我们看下在Sys.Columns 里面对 TS的描述,对于system_type_id,也是对应167 就是varchar 的类型,然后再max_length还是我们定义的那个。而且指定了 is_user_defined = 1 就是表示了是用户自定义的数据类型了

SELECT system_type_id ,
user_type_id ,
schema_id ,
principal_id ,
max_length ,
precision ,
collation_name ,
scale ,
is_nullable ,
is_user_defined ,
is_assembly_type ,
default_object_id ,
is_table_type FROM sys.types WHERE name = 'TS' system_type_id user_type_id schema_id principal_id max_length precision collation_name scale is_nullable is_user_defined is_assembly_type default_object_id is_table_type
-------------- ------------ ----------- ------------ ---------- --------- -------------------------------------------------------------------------------------------------------------------------------- ----- ----------- --------------- ---------------- ----------------- -------------
167 257 1 NULL 50 0 Chinese_PRC_CI_AS

然后是自定义的类型支持辣么多的基础类型哦~

bigint

binary( n )

bit

char( n )

date

datetime

datetime2

datetimeoffset

decimal

float

image

int

money

nchar( n )

ntext

numeric

nvarchar( n |max)

real

smalldatetime

smallint

smallmoney

sql_variant

text

time

tinyint

uniqueidentifier

varbinary( n |max)

varchar( n |max)

还有一点,定义了自定义数据类型,是在本架构适用!所以创建临时表是不能使用自定义类型的!因为临时表在Tempdb里面。并不在自定义变量的作用域!

所以,虽然架构上面的问题我们开发的时候会忽略,但是还是得留个心眼哦~

基础篇之 Create Type的更多相关文章

  1. iOS系列 基础篇 06 标签和按钮 (Label & Button)

    iOS系列 基础篇 06 标签和按钮 (Label & Button) 目录: 标签控件 按钮控件 小结 标签和按钮是两个常用的控件,下面咱们逐一学习. 1. 标签控件 使用Single Vi ...

  2. [译]RxJS 5.X基础篇

    欢迎指错与讨论 : ) 当前RxJS版本:5.0.0-beta.10.更详细的内容尽在RxJS官网http://reactivex.io/rxjs/manual/overview.html.文章比较长 ...

  3. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

      PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语 ...

  4. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  5. JavaScript笔记基础篇(二)

    基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt ...

  6. (六)SpringBoot2.0基础篇- Redis整合(JedisCluster集群连接)

    一.环境 Redis:4.0.9 SpringBoot:2.0.1 Redis安装:Linux(Redhat)安装Redis 二.SpringBoot整合Redis 1.项目基本搭建: 我们基于(五) ...

  7. [Android] Android RxJava2+Retrofit2+OkHttp3 的使用(一) --基础篇 Retrofit2 的使用

    本文是 Android RxJava2+Retrofit2+OkHttp3 的使用(一) --基础篇 Retrofit2 的使用 本文的目标是用 Retrofit写一个网络请求: 本文以从获取天气预报 ...

  8. oracle(sql)基础篇系列(五)——PLSQL、游标、存储过程、触发器

    PL/SQL PL/SQL 简介 每一种数据库都有这样的一种语言,PL/SQL 是在Oracle里面的一种编程语言,在Oracle内部使用的编程语言.我们知道SQL语言是没有分支和循环的,而PL语言是 ...

  9. PLSQL存储过程(基础篇)-转

    我不是专门的开发人员,但存储过程又是很重要的知识,为了能够很好的记忆,现把这些基础知识总结一下.存储过程可以实现代码的充分共享,提高系统性能. 基础篇       知识回顾 如果经常使用特定操作,哪么 ...

随机推荐

  1. 修复 XE8 for Android 分享图片到 Gmail 权限不足的问题

    问题:打开 XE8 的 ShareSheet 示例,发布到 Android 实机,按 Share 选 Gmail 结果显示:没有权限添加附件. 适用:XE8 for Android 修复方法: 请将源 ...

  2. C#生成随机验证码

    使用YZMHelper帮助类即可 using System; using System.Web; using System.Drawing; using System.Security.Cryptog ...

  3. RSA加密解密(python版)

    RSA的算法涉及三个参数,n.e.d. 其中,n是两个大质数p.q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度. e1和d是一对相关的值,e可以任意取,但要求e与(p-1)*(q-1)互质: ...

  4. inflate的基本用法,类似于findviewbyId

    Inflate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能.最近做的一个项目就是这一点让我迷茫了好几天. android上还有一个与Inflate()类 ...

  5. javascript-String

    概述 String对象是JavaScript原生提供的三个包装对象之一,用来生成字符串的包装对象实例. var s = new String("abc"); typeof s // ...

  6. ahjesus Ubuntu配置svn服务器

    转载自http://www.cnblogs.com/ximu/articles/2119136.html 亲测可用 一.SVN安装1.安装包$ sudo apt-get install subvers ...

  7. Java经典实例:比较浮点数

    /** * Created by Frank * 比较浮点数 */ public class FloatCmp { // 公差 private final static Double EPSILON ...

  8. 用css 制作三角

    html代码: <div class="div"></div> css代码: .div{ border-top:40px solid #ff0077; bo ...

  9. React入门--------顶层API

    React.createClass 参数:config(object) 创建一个ReactClass(组件类),参数是一个对象且必须带有render属性方法,该方法必须返回一个封闭的容器(容器内可以由 ...

  10. JavaScript——99乘法表

    <!DOCTYPE html> <html> <head> <title>99乘法表</title> <style type=&quo ...