CUBRID学习笔记 25 数据类型2
---恢复内容开始---
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) |
{'c','c','c','b','b','a'} |
{'a','b','c'} |
|
MULTISET |
A union which allows duplicates |
col_name MULTISET VARCHAR(20) |
{'c','c','c','b','b','a'} |
{'a','b','b','c','c','c'} |
|
LIST |
A union which allows duplicates and stores data in the order of input |
col_name LIST VARCHAR(20) |
{'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的更多相关文章
- CUBRID学习笔记 27 数据类型4
范围比较 数字和字符串比较 字符串被转为double SELECT i FROM t WHERE i <= all {'11','12'}; i ============= 1 2 3 4 字符 ...
- CUBRID学习笔记 26 数据类型3cubrid教程
接上面的集合 集合之 set 每个集合元素是不同的值, 但是类型只能是一种.也可以有其他表的记录 如下 CREATE TABLE set_tbl ( col_1 set(CHAR(1))); INSE ...
- CUBRID学习笔记 24 数据类型1
---恢复内容开始--- 一 数字类型 注意小数的四舍五入问题 1数字型 Type Bytes Mix Max Exact/approx. SHORTSMALLINT 2 -32,768 32,76 ...
- CUBRID学习笔记 11 数据类型之日期
datetime 虽然和mysql很相像,但是日期类型和mysql是不一样的.和sqlserver差不多. 如YYYY-MM-DD hh:mi:ss.fff or mm/dd/yyyy hh:mi:s ...
- IOS学习笔记25—HTTP操作之ASIHTTPRequest
IOS学习笔记25—HTTP操作之ASIHTTPRequest 分类: iOS2012-08-12 10:04 7734人阅读 评论(3) 收藏 举报 iosios5网络wrapper框架新浪微博 A ...
- CUBRID学习笔记 48查询优化
cubrid的中sql查询语法 查询优化 c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com ...
- CUBRID学习笔记 47 show
cubrid的中sql查询语法show c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . ...
- CUBRID学习笔记 46 PREPARED set Do
cubrid的中sql查询语法PREPARED set Do c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650 ...
- CUBRID学习笔记 45 REPLACE DELETE MERGE 教程
c#,net,cubrid,教程,学习,笔记欢迎转载 ,转载时请保留作者信息.本文版权归本人所有,如有任何问题,请与我联系wang2650@sohu.com . 过错 ------ 官方文档是英文的, ...
随机推荐
- 验证(Javascript和正则表达式)
昨天写了验证(C#和正则表达式),今天又写了个js版的验证.现在贴出来,为了方便自己查阅,同时也希望能给需要的人帮助和一些启发.由于今天才开始接触js,所以可能会有一些错漏,希望大家能批评指正. va ...
- javascript中的this与prototype,原型理解
JavaScript 函数调用 JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 一般而言,在Javascript中,this指向函数执行 ...
- 解析XML的四种方式
四种操作xml的方式: SAX, DOM, JDOM , DOM4J的比较 1. 介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官 ...
- linux下xargs命令用法详解 【转】
转自:http://blog.chinaunix.net/uid-128922-id-289992.html xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xa ...
- PHP面向对象的一些深入理解
1.$this就是这个对象的地址,$this不能在类外部使用.2.构造函数 __construct 和析构函数都没有返回值:一旦一个对象成为垃圾对象(没有任何变量引用的对象,或者=null),析构函数 ...
- iOS-网址集
0. 在线工具 http://tool.lu 1. iOS学习笔记汇总链接 https://blog.6ag.cn/533.html 2.iOS开发内购全套图文教程http://mp.weixin.q ...
- java 面试每日一题6
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5 ...
- [转]android使用shape stroke描边只保留底部
在项目中遇到这种情况:由于一些原因,自己需要用LinearLayout的垂直布局做出ListView的那种效果,但是ListView是自带了分割线的,而且顶部底部都是没有分割线的,每个item中间都是 ...
- andriod 新建 Activity_ Form (详细设置)
参考: Starting Another Activity 去创建Activity New->Other->Android->Android Activity->BlankAc ...
- Unity脚本在层级面板中的执行顺序测试3
断断续续的写了3篇,以后有时间可以做成一个系列了 前面2篇测试了GameObject的顺序,以及Awake和OnEnable的时机: Unity脚本在层级面板中的执行顺序测试1 http://www. ...