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

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. startActivityForResult 页面跳转回调

    import java.io.Serializable; import java.util.ArrayList; import java.util.HashMap; import java.util. ...

  2. Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值

    Thinkphp用exp表达式执行mysql语句,查询某字段不为空is not null,自动增值 Thinkphp 的文档经常不够完整的表达MYSQL的各种组合,is not null在thinkp ...

  3. PHP Deprecated: Comments starting with '#' are deprecated in *.ini 警告解决办法

    新装的ubuntu 10.04系统,使用新立得装的PHP,但是每次我在命令行下执行php脚本时都会出如下的警告信息: PHP Deprecated:  Comments starting with ' ...

  4. Linux中文显示乱码解决

    输入 echo $LANG可以查看当前使用的系统语言 查看是否有中文语言包可以在终端输入 locale命令,如有zh cn 表示已经安装了中文语言 没有则 yum groupinstall chine ...

  5. 微信公众平台消息接口API指南

    简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器会使 ...

  6. Asp.net Vnext Filters

    ASP.NET MVC 提供Filters(筛选器)之前或之后调用操作方法执行筛选逻辑,和AOP面向切面编程一样. 本文已经同步到<Asp.net Vnext 系列教程 >中] 本章主要介 ...

  7. MyCalView.php

    <html> <head> <title>我的计算器</title> <script language="javascript" ...

  8. java实现map和object互转的三种方法

    /**  * 使用org.apache.commons.beanutils进行转换  */  class A {              public static Object mapToObje ...

  9. php时间函数整理

    PHP中的时间函数有这么些:(1)date用法: date(格式,[时间]);如果没有时间参数,则使用当前时间. 格式是一个字符串,其中以下字符有特殊意义:U 替换成从一个起始时间(好象是1970年1 ...

  10. hdu4924 Football Manager

    这题上来我是没有思路的.因为目标值关涉到的因素太多而直接枚举的复杂度又太高. 目标值由两部分合成,一部分是队员的CA和与PA和,另一部分是队员之间的relationship. 前者是简单的代数累加,而 ...