---恢复内容开始---

6枚举类型

语法

<enum_type>

: ENUM '(' <char_string_literal_list> ')'

<char_string_literal_list>

: <char_string_literal_list> ',' CHAR_STRING

| CHAR_STRING

CREATE TABLE tbl (

color ENUM('red', 'yellow', 'blue')

);

结果

Value

Index Number

NULL

NULL

'red'

1

'yellow'

2

'blue'

3

插入 INSERT into tbl values ('yellow'), ('red'), (2), ('blue');

结果

SELECT color FROM tbl;

color

======================

yellow

red

yellow

blue

SELECT color FROM tbl ORDER BY color ASC;

color

======================

red

yellow

yellow

blue

SELECT color FROM tbl ORDER BY cast(color as char) ASC;

color

======================

blue

red

yellow

yellow

  • 使用字符串上下文,则枚举返回字符串 SELECT CONCAT(enum_col, 'color') FROM tbl_name;

    CONCAT(color, '_color')

    ======================

    yellow_color

    red_color

    yellow_color

    blue_color

使用数字上下文 返回数字

  • SELECT color + 0 FROM tb;

    color + 0

    ======================

    2

    1

    2

    3

  • 是条件为数字的时候 ,为枚举的索引  SELECT color FROM tbl WHERE color <= 1;

    color

    ======================

    red

  • 使用字符串条件 枚举为字符串
    • SELECT color FROM tbl WHERE color <= 'red';

      color

注意索引默认从0开始   字符串的值不可以是null

如果枚举值本身就是数字,请用单引号括起来 如'1'

枚举排序是按索引排序的. 所以下面的语句是什么意思,应该明白了吧.先cast转换下

SELECT color FROM tb ORDER BY cast(color as char) ASC;

枚举和普通类型对应关系

*SHORT

Index Number

*INTEGER

Index Number

*BIGINT

Index Number

*FLOAT

Index Number

*DOUBLE

Index Number

*NUMERIC

Index Number

*MONETARY

Index Number

*TIME

String

*DATE

String

*DATETIME

String

*TIMESTAMP

String

*CHAR

String

*VARCHAR

String

BIT

String

VARBIT

String

注意 如果是使用jdbc驱动,使用枚举有些区别

7 集合

有三种

Type

Description

Definition

Input Data

Stored Data

SET

A union which does not allow duplicates

col_name SET VARCHAR(20)
col_name SET (VARCHAR(20))

{'c','c','c','b','b','a'}
{'c','c','c','b','b', 'a'}

{'a','b','c'}
{'a','b','c'}

MULTISET

A union which allows duplicates

col_name MULTISET VARCHAR(20)
col_name MULTISET (VARCHAR(20))

{'c','c','c','b','b','a'}
{'c','c','c','b','b','a'}

{'a','b','b','c','c','c'}
{'a','b','b', 'c','c','c'}

LIST
SEQUENCE

A union which allows duplicates and stores data in the order of input

col_name LIST VARCHAR(20)
col_name LIST (VARCHAR(20))

{'c','c','c','b','b','a'}
{'c','c','c','b','b', 'a'}

{'c','c','c','b','b','a'}
{'c','c','c','b','b','a'}

集合间的转换

TO

FROM

SET

MULTISET

LIST

SET

-

O

O

MULTISET

O

-

X

LIST

O

O

-

---恢复内容结束---

CUBRID学习笔记 25 数据类型2的更多相关文章

  1. CUBRID学习笔记 27 数据类型4

    范围比较 数字和字符串比较 字符串被转为double SELECT i FROM t WHERE i <= all {'11','12'}; i ============= 1 2 3 4 字符 ...

  2. CUBRID学习笔记 26 数据类型3cubrid教程

    接上面的集合 集合之 set 每个集合元素是不同的值, 但是类型只能是一种.也可以有其他表的记录 如下 CREATE TABLE set_tbl ( col_1 set(CHAR(1))); INSE ...

  3. CUBRID学习笔记 24 数据类型1

    ---恢复内容开始--- 一 数字类型  注意小数的四舍五入问题 1数字型 Type Bytes Mix Max Exact/approx. SHORTSMALLINT 2 -32,768 32,76 ...

  4. CUBRID学习笔记 11 数据类型之日期

    datetime 虽然和mysql很相像,但是日期类型和mysql是不一样的.和sqlserver差不多. 如YYYY-MM-DD hh:mi:ss.fff or mm/dd/yyyy hh:mi:s ...

  5. IOS学习笔记25—HTTP操作之ASIHTTPRequest

    IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...

  6. CUBRID学习笔记 48查询优化

    cubrid的中sql查询语法 查询优化 c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...

  7. CUBRID学习笔记 47 show

    cubrid的中sql查询语法show c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . ...

  8. CUBRID学习笔记 46 PREPARED set Do

    cubrid的中sql查询语法PREPARED set Do c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650 ...

  9. CUBRID学习笔记 45 REPLACE DELETE MERGE 教程

    c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 ------ 官方文档是英文的, ...

随机推荐

  1. android textView 添加超链接(两种实现方式)

    在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接,下面为大家介绍下这两种方法的实现 在textView添加超链接,有两种方式 ...

  2. android 项目学习随笔十五(ShareSDK开放平台)

    ShareSDK开放平台http://www.mob.com/#/

  3. Delphi 的各版本定义,用于预编译参数中,避免忘记备忘之

    DELPHI的版本宏: VER80 - Delphi 1 VER90 - Delphi 2 VER100 - Delphi 3 VER120 - Delphi 4 VER130 - Delphi 5 ...

  4. Thinking In Java 读书笔记

    面向对象语言,五个基本特性: 1)万物皆为对象. 2)程序是对象的集合,他们通过发送消息来告知彼此所要做的. 3)每个对象都有自己的由其他对象所构成的存储. 4)每个对象都拥有其类型.即:每个对象都是 ...

  5. WordPress博客网站fonts.useso加载慢解决办法

    WordPress博客网站fonts.useso加载慢解决办法 之前WordPress博客因为google字体库访问不了替换成360的useso,最近WordPress博客网站一直等待fonts.us ...

  6. postgres创建用户,表

    使用createuser来创建用户 [postgres@web1 ~]$ /data/pgsql/bin/createuser --help createuser creates a new Post ...

  7. JVM学习笔记(一)------基本结构【转】

    转自:http://blog.csdn.net/cutesource/article/details/5904501 版权声明:本文为博主原创文章,未经博主允许不得转载. 从Java平台的逻辑结构上来 ...

  8. 使用MeanJS Yeoman Generator

    1.首先全局安装该生成器 sudo npm install -g generator-meanjs 2.为项目创建一个路径 mkdir xmen && cd xmen 3.创建app ...

  9. 自定义Exception

    本文改编自http://blog.csdn.net/stellaah/article/details/6738424 [总结] 1.自定义异常: class 异常类名 extends Exceptio ...

  10. Oracle之虚拟索引

    一.引言 DBA在日常维护管理数据库进行低性能SQL分析时,有时候需要通过创建索引对SQL进行优化,但有些时候我们创建的索引是否能用到?这个只能创建以后才能看出效果,但是在实际工作中,特别是对大表创建 ...