美文网首页
004-理解类型

004-理解类型

作者: Sayalic_2484 | 来源:发表于2019-03-20 00:35 被阅读0次

跳舞的小人

跳舞的小人

这是来自《福尔摩斯探案集》里面跳舞的小人图案,可能在你看来就是一些图案,但在福尔摩斯的眼里这是英文符号,对应表格:

跳舞的小人-字母对照表

SQL中的类型

用固定的解释方案,得到的解释结果也是类似的。比如在福尔摩斯眼中,跳舞的小人总是一些英文字母。所以解释方案会使得解释结果是相似的,是一类的。所以也把解释方案叫做类型。

计算机是用0和1来存储数据的。那么对于计算机来讲,一串0和1,无异于一串跳舞的小人,其含义完全取决于解释的方案,也就是数据的类型。

items表的字段和类型

SQL里面有几种常见类型:

  • INTEGER: 表示把这一段01串解释为整数,所以你总是会得到一个整数
  • VARCHAR: 表示把这一段01串解释为文本(VARCHAR,Variable Character,变长字符串),所以你总是会得到一个文本
  • TIMESTAMP: 表示把这一段01串解释为时间戳(具体什么是时间戳,后续展开),所以你总是会得到一个日期
  • FLOAT: 表示把这一段01串解释为浮点数(具体什么是浮点数,后续展开),所以你总是会得到一个小数

因为洋大人发明计算机的时候咱们还在玩泥巴,所以程序的世界里面总是会遇到很多英语,多查字典吧。

Excel的类型

等等,为什么Excel里面没有类型这个概念呢?其实是有的,但是Excel考虑到用户的易用程度,刻意隐藏了类型。

Excel类型示例

我们分别输入1和2、١和٢(阿拉伯语里面的1和2),还有汉语"一"和"二"。然后在Excel里面求和,前面两行分别得到了3和٣(阿拉伯语里面的3),但是汉语就是#VALUE!报错。为什么呢?因为Excel把1和2、١和٢智能识别成了数字类型,所以可以做加法。但是汉语一和二,就识别成了文本,所以不能做加法。

EXCEL中输入FALSE和TRUE,会被识别成为逻辑类型,奇妙的是,逻辑类型也是可以做加法的,FALSE+TRUE=1。

所以Excel的思路是:用户输入,猜测是什么类型(猜不出来就是文本类型),然后存储。然而SQL比较严谨,需要你先指定字段的类型,然后才能存放数据。Excel则完全没有类似的限制。

类型和计算

在SQL中,用引号括起来的内容表示文本,字母开头表示引用字段,数字就是表示整数和浮点数,其类型取决于字段的类型:

SELECT 1, '1', 1.0, a;

这里的类型分别为:整数、文本、浮点数,字段a的类型。

一次计算能否完成和数据的类型是强相关的。比如说你不能把两个文本相加(Excel会得到#VALUE!报错),因为相加两个文本无异于是“五彩斑斓的黑”这样的奇葩需求,计算机也只能说,臣妾做不到啊。

类型对计算的影响还有很多的,这个后续展开。只需要记住:

  • 类型是讯息的解释方案,相同的解释方案得到相似的数据,所以又被称作类型。
  • 类型会影响计算的结果(比如计算机没法计算“一”+“二”)。

就是这么简单。

相关文章

网友评论

      本文标题:004-理解类型

      本文链接:https://www.haomeiwen.com/subject/syiomqtx.html