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

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. decimal.tostring()格式

    nt/Decimal.ToString 方法 (String, IFormatProvider)   decimal value = 16325.62m; string specifier; Cult ...

  2. 指针二次释放(_BLOCK_TYPE_IS_VALID)

    [1]_BLOCK_TYPE_IS_VALID是什么错误? (1)最简单的示例代码如下: void main() { ); delete pA; delete pA; } (2)运行后崩溃截图如下: ...

  3. 利用 iptables 命令限制单个端口的并发连接数

    iptables -I INPUT -p tcp --dport 11251:11300 -m connlimit --connlimit-above 10 -j REJECT 以上代码意思: 在IN ...

  4. linux设备驱动归纳总结(三):6.poll和sellct【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-61749.html linux设备驱动归纳总结(三):6.poll和sellct xxxxxxxxxx ...

  5. top.location.href和localtion.href有什么不同

    top.location.href=”url”          在顶层页面打开url(跳出框架) self.location.href=”url”         仅在本页面打开url地址 pare ...

  6. alias function varibales in Linux/GNU and Mac alias命令细说

    细说,在古文言中是”奸细佞臣的话“,现如今成了”详细说明“的缩略. alias是MS-DOC中cmds中doskey的counterpart,是”别名“或者”化名“的意思 alias强大之处在于可以化 ...

  7. Javascript Window Location

    window.location 对象在编写时可不使用 window 这个前缀. URL : 统一资源定位符 (Uniform Resource Locator) 说明: 完整的URL示例:scheme ...

  8. Hosting custom WPF calendar control in AX 2012

    原作者: https://community.dynamics.com/ax/b/axilicious/archive/2013/05/20/hosting-custom-wpf-calendar-c ...

  9. 【PHP操作sphinx】

    [index.php] [find.php] <?php header("Content-type:text/html;charset=utf-8"); $keyword = ...

  10. ectouch第二讲之 文件结构

    相信大家在ectouch官网都注意到了,ectouch采用的MVC框架,之前一直以为它用的和ecshop一样都是smarty,本鸟默默按照smarty的文件结构研究了好几天,结果是各种文件对不上号.无 ...