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

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

-

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

最新文章

  1. connect-flash 中间件
  2. Hibernate插入数据后获得ID
  3. CSS书写顺序
  4. Unity里的Mesh属性
  5. js页面用定时任务通过AJAX获取后台数据,但是从这个页面跳转到其他页面后,定时任务仍然在定时请求后台
  6. XAML数据绑定(Data Binding)
  7. 我的AngularJS 学习之旅(二)
  8. acount
  9. Tomcat处理HTTP请求源码分析(上)(转)
  10. VS插件 热
  11. nyoj 题号12 水厂(两)——南阳oj
  12. 【ASP.NET】Validation 服务器控件
  13. style.left offsetLeft offsetwidth clientLeft clientWidth scrollLeft scrollWidth
  14. if else; while; break;continue ----流程控制系列
  15. 1092. To Buy or Not to Buy (20)-map
  16. Log4net的不能产生Log文件的问题
  17. Java8 lambda表达式10个示例
  18. Apache Storm内部原理分析
  19. newcode wyh的吃鸡(优势队列+BFS)题解
  20. 报警告session_regenerate_id(): Failed to create(read) session ID: files (path: N;/path)

热门文章

  1. android studio 自用快捷键方案
  2. 图解IoC 依赖注入
  3. Datatables带参重绘
  4. composer未升级报错
  5. 杭电1013-Digitai Root(另解)
  6. Linux下启动Oracle
  7. Android App 开发常用的xUtils框架
  8. jquery 操作select 语句大全
  9. Power Strings 分类: POJ 串 2015-07-31 19:05 8人阅读 评论(0) 收藏
  10. Python学习笔记-Day2-Python基础之元组操作