网易首页 > 网易号 > 正文 申请入驻

OushuDB 用户指南之类型转换

0
分享至

概述

SQL是强类型语言。也就是说,每个数据都与一个决定其行为和用法的数据类型相关联。OushuDB 有一个可扩展的数据类型系统, 该系统比其它SQL实现更具通用性和灵活性。因此,OushuDB 中大多数类型转换是由通用规则来管理的, 而不是由专门的试探法分析的,这种做法允许使用混合类型的表达式, 即便是其中包含用户定义的类型也如此。

OushuDB 扫描/分析器只将词法元素分解成五个基本种类: 整数、浮点数、字符串、标识符、关键字。大多数非数字类型首先表征为字符串,SQL 语言定义允许声明字符串的类型名,而且这种机制可以用于OushuDB 保证分析器沿着正确的方向运行。例如,查询:

SELECT text 'Origin' AS "label", point '(0,0)' AS "value";label | value--------+-------Origin | (0,0)(1 row)

有两个文本常量,类型分别为text和point。 如果没有为字符串文本声明类型,该文本先被初始化成一个拥有存储空间的 unknown类型,该类型将在后面描述的晚期阶段分析。

在OushuDB 分析器里, 有四种基本的SQL元素需要独立的类型转换规则:

函数调用

多数OushuDB 类型系统是建立在一套丰富的函数上的。函数调用可以有一个或多个参数。因为OushuDB 允许函数重载, 所以函数名自身并不唯一地标识将要调用的函数, 分析器必须根据函数提供的参数类型选择正确的函数。

操作符

OushuDB 允许在表达式上使用前缀或后缀(单目)操作符, 也允许表达式内部使用双目操作符(两个参数)。像函数一样,操作符也可以被重载, 因此操作符的选择也和函数一样取决于参数类型。

值存储

INSERT和UPDATE语句将表达式结果放入表中。 语句中的表达式类型必须和目标列的类型一致或者可以转换为一致。

UNION, CASE和相关构造

因为联合SELECT语句中的所有查询结果必须在一列里显示出来, 所以每个SELECT子句中的元素类型必须相互匹配并转换成一套统一类型。 类似地,一个CASE构造的结果表达式必须转换成统一的类型, 这样CASE表达式自身作为整体有一种已知输出类型。 同样的要求也存在于ARRAY构造中。

系统表casts存储有关哪种数据类型之间存在哪种转换以及如何执行这些转换的信息。额外的转换可以由用户通过CREATE CAST命令增加。(这个通常和定义一种新的数据类型一起完成。内置的类型转换集已经经过仔细的雕琢了, 因此最好不要去更改它们。)

分析器中还提供了一个额外的搜索器,允许提高对有隐含转换的类型组之间的适当的转换行为的决断。数据类型分成了几个基本 类型分类 ,包括:boolean, numeric, string, bitstring, datetime, timespan, geometric, network, user-defined(用户定义)。每种类型(除用户定义)都有一种或多种 首选类型 用于解决类型选择的问题。因此歧义的表达式(那些有多个候选解析方案的)当有多个内置类型时可以解决,但是用户定义的类型有多个选择时会产生错误。

所有类型转换规则都是建立在下面几个基本原则上的:

  • 隐含转换决不能有奇怪的或不可预见的输出。
  • 解析器没有 先验 知识的用户定义类型应该是 “较高的” 类型等级。在混合类型表达式中,本地类型总应该转换为用户定义的类型(当然,只要转换是必要的)。
  • 用户定义的类型是不相关的。现在,除了内置类型的硬编码启发式和可用函数和转换的隐式关系外,OushuDB 没有类型之间关系的可用信息。
  • 如果一个查询不需要隐含的类型转换,分析器或执行器不应该进行更多的额外操作。 这就是说,任何一个类型匹配、格式清晰的查询不应该在分析器里耗费更多的时间, 也不应该向查询中引入任何不必要的隐含类型转换调用。

另外,如果一个查询通常使用某个函数进行隐含类型转换,而用户定义了一个有正确参数的函数, 解释器应该使用新函数取代原先旧函数的隐含操作。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
全国通缉犯藏上海9年,成身价3亿大佬,被捕时:放了我,给5000万

全国通缉犯藏上海9年,成身价3亿大佬,被捕时:放了我,给5000万

鉴史录
2026-05-23 12:44:00
大反转!白边缺席真相出炉 谣言彻底粉碎 残阵上海照样能赢?

大反转!白边缺席真相出炉 谣言彻底粉碎 残阵上海照样能赢?

你看球呢
2026-05-27 07:55:08
想摆脱中年油腻感?“极简风”穿搭灵感,让你简洁优雅过夏天

想摆脱中年油腻感?“极简风”穿搭灵感,让你简洁优雅过夏天

何有强
2026-05-25 22:18:26
哈兰德回顾曼城处子赛季:我选择了正确的俱乐部

哈兰德回顾曼城处子赛季:我选择了正确的俱乐部

懂球帝
2026-05-27 08:09:19
不听特朗普话!美联储新主席立誓,对华鹰派立场曝光,中方抛美债

不听特朗普话!美联储新主席立誓,对华鹰派立场曝光,中方抛美债

过期少女致幻录
2026-05-26 22:24:14
台股总市值升至全球第五

台股总市值升至全球第五

参考消息
2026-05-26 19:06:20
美记:哈登想回火箭已是公开的秘密,他希望与杜兰特搭档结束生涯

美记:哈登想回火箭已是公开的秘密,他希望与杜兰特搭档结束生涯

懂球帝
2026-05-26 19:59:17
华为韬定律,突破1.4纳米芯片,国际芯片专家:美国还没这个技术

华为韬定律,突破1.4纳米芯片,国际芯片专家:美国还没这个技术

Thurman在昆明
2026-05-27 00:33:00
女子超市买牙膏抽中世界杯门票欲转让,有网友出价50万元,超市回应:票是真的

女子超市买牙膏抽中世界杯门票欲转让,有网友出价50万元,超市回应:票是真的

齐鲁壹点
2026-05-26 21:25:12
广西医科大保安踹出租车,和两名司机吵架,视频曝光,网友一边倒

广西医科大保安踹出租车,和两名司机吵架,视频曝光,网友一边倒

阿纂看事
2026-05-26 19:44:31
新规一出,我立马告诉孩子:广东对1-12年级学生放大招了!深圳试点,全省铺开!

新规一出,我立马告诉孩子:广东对1-12年级学生放大招了!深圳试点,全省铺开!

萌芽研究所BUD
2026-05-26 23:25:47
最新夺冠+FMVP赔率:雷霆居首尼克斯超马刺 SGA领跑布伦森第二

最新夺冠+FMVP赔率:雷霆居首尼克斯超马刺 SGA领跑布伦森第二

罗说NBA
2026-05-27 06:24:50
Nature:首个全自动AI科学家——Robin!两小时内完成人类科学家数月工作量,发现致盲眼病新药

Nature:首个全自动AI科学家——Robin!两小时内完成人类科学家数月工作量,发现致盲眼病新药

生物世界
2026-05-25 12:18:18
《主角》最招人烦的龚丽丽,竟是秦腔大师李梅之女,桃李满天下!

《主角》最招人烦的龚丽丽,竟是秦腔大师李梅之女,桃李满天下!

落雪听梅a
2026-05-27 05:11:44
这几天被这个消息霸屏了,娇贵的上海会同步推进吗?

这几天被这个消息霸屏了,娇贵的上海会同步推进吗?

慧翔百科
2026-05-26 17:25:34
11岁男孩顶替退伍军人领国家俸禄15年,被揭穿后:敢告我就弄死你

11岁男孩顶替退伍军人领国家俸禄15年,被揭穿后:敢告我就弄死你

莫地方
2026-05-25 01:15:03
中纪委怒批高校“四宗罪”,每一刀都切在要害上

中纪委怒批高校“四宗罪”,每一刀都切在要害上

细说职场
2026-05-24 15:32:38
家长投诉学校违规月考,教育局回应可以申请不参加

家长投诉学校违规月考,教育局回应可以申请不参加

教师吧
2026-05-26 21:48:18
徐帆回应离婚几个月后,68岁冯小刚再惹争议,养女徐朵成导火索!

徐帆回应离婚几个月后,68岁冯小刚再惹争议,养女徐朵成导火索!

乡野小珥
2026-05-18 08:58:28
一人毁掉整部剧?央视剧《主角》唯一败笔,观众:看他演戏真别扭

一人毁掉整部剧?央视剧《主角》唯一败笔,观众:看他演戏真别扭

调侃国际观点
2026-05-26 21:23:44
2026-05-27 08:28:49
国产数据库之崛起
国产数据库之崛起
分享国产数据库
48文章数 12关注度
往期回顾 全部

科技要闻

狂飙19%!美光科技市值破万亿美元

头条要闻

食客吃完面往剩汤中加6勺辣椒酱 被店家不打码发网上

头条要闻

食客吃完面往剩汤中加6勺辣椒酱 被店家不打码发网上

体育要闻

上赛季差点降入英甲,下赛季要踢英超了

娱乐要闻

台媒贴脸!S妈被问大S嗑药当场沉默

财经要闻

中国铝行业爆单 下一个“煤炭”大周期?

汽车要闻

涉水加强 福特烈马亚马逊限量版上市 售价39.98万

态度原创

手机
房产
亲子
健康
教育

手机要闻

苹果visionOS 26.6开发者预览版Beta 1发布

房产要闻

招商地产接盘碧桂园!海口这个烂尾豪宅,要彻底改命?

亲子要闻

孩子越胖越有福气?别让“可爱”透支了他的身高潜力

外泌体抗衰,什么时候能用上?

教育要闻

高考地理:做对这几件事,让你多拿15分,不开玩笑!

无障碍浏览 进入关怀版