一、数据类型
数据类型分为简单数据类型和复杂数据类型。
1、简单数据类型
2、复杂数据类型
复杂数据类型有array、map、struct三类。
复杂数据类型案例:
{
"name": "dasongsong",
"friends": [
"bingbing",
"lili"
],
"students": {
"xiaohaihai": 18,
"xiaoyangyang": 16
},
"address": {
"street": "hui long guan",
"city": "beijing",
"postal_code": 10010
}
}
通过上述JOSN字符串定义每个字段的数据类型:
name:为字符串,具体定义为string
friend:为列表,具体定义为:array<string>
student:为键值对格式,因此是map类型,具体定义为:map<string,int>
address:为键值对格式,但是有多个属性组成,且属性之间的类型不一致,因此是struct类型,具体定义为:struct<city:string,street:string,postal_code:int>
二、数据类型转换
不同的数据类型之间存在相互转化,其中包括隐式转换和显示转换。
1、隐式转换
任何整数类型都可以隐式转换成范围更广的类型,如:tinyint可以转换成int,int可以转换成bigint;
tinyint、smallint、int都可以转换为float。
注意:所有整数类型、float和string类型都可以隐式地转换成double。 布尔类型不可以转换成任何其他类型。
2、显示转换
显示类型相当于强制类型转换
,隐式转换是变量自动发生
的转换。
语法:
cast(expr as <type>)
案例:
cast('1' as int)
备注:上述笔记为自己学习过程中记录的笔记。