Amygo
作者Amygo·2019-05-14 17:53
DBA·分布式事务数据库

分布式事务数据库 —-MySQL 数据库开发规范(第四节下)

字数 1664阅读 941评论 1赞 1

今天Amy继续为大家更新第四节的内容。

4.9 类型转换函数
 日期类型格式转换
字符串转换成日期方式,DATE_FORMAT()或 STR_TO_DATE(),两个函数的格式如下:
DATE_FORMAT(expr1,format)
STR_TO_DATE(expr1, format)

4.9.1 特别说明
STR_TO_DATE()是为兼容 Oracle 数据库对应函数。
常用的日期格式 YYYY-MM-DD HH:MM:SS 对应的 FORMAT 为:%Y-%m-%d %H:%i:%S。
通用类型转换函数
CAST(expr AS type) 则是把 expr 数字或字符串 转换为 type 类型;
CONVERT(expr,type) 则是把 expr 数字或字符串 转换为 type 类型;
CONVERT(expr USING transcoding_name) 则是转换字符串或字段的字符集编码;
日期整型转换函数
UNIX_TIMESTAMP(date_string) 则是将字符串格式表达的日期转换成 INT 无符号类型的整
型数值,例如:
zfm9e5ea64b

zfm9e5ea64b

FROM_UNIXTIME(int_value) 则是将用整型数值表达的日期转换成字符串格式的日期,例
如:
25d5qqvrqcj

25d5qqvrqcj

IP 地址转换
可以使用 INET_ATON()、INET_NTOA()、INET6_ATON()、INET6_NTOA()实现 IP 地址和
整型值之间的转换。
隐式转换
在不同类型的列之间发生比较或运算时,MySQL 遵循如下规则:
NULL 和 NULL 比较不转换;
字符串和不同的字符串比较,则使用字符串比较;
整型和不同的整型比较,则使用整型比较;
十六进制值和整型以外的类型比较时十六进制值视为二进制字符串;
时间类型和字符串常量比较时,字符串转换为时间类型进行比较;
DECIMAL 类型的比较方式取决于另一个值的类型,如果是整型,则使用 DECIMAL 比
较;如果是浮点型,则使用浮点类型比较。其它情况,使用浮点比较;

4.10 特殊函数
SYSDATE()
原意为获取调用函数时刻的时间,通常在标准化的 MySQL 配置中,会将其修改为 NOW()
的同义词,为 SQL 语句开始执行的时间。从而规避 SYSDATE 带来的复制问题与
sysdate-is-now 参数带来的行为改变导致的潜在的配置不一致风险两个角度考虑,故建议禁
止使用函数 SYSDATE()。
LAST_INSERT_ID()
获取最近成功插入带自增长的表的数据行的自增长 ID 值,在分布式数据库开发当中,因可
能涉及到分布式事务,以及全局自增 ID,因此,禁止使用该函数。
SLEEP()、BENCHMARK()
应用程序中要禁止使用此类函数,及防 SQL 注入方式对待。
UUID()
生产全局唯一 ID 的函数,MySQL 使用通用的算法,算法版本为 1,该函数不能确保绝对不
发生冲突,但是冲突的概率极低。由于 UUID 分布的随机性,非常不适合作为 InnoDB 存储
引擎表的主键或唯一性的标识,非特殊原因或特殊场景不应使用。
GET_LOCK()、RELEASE_LOCK()、IS_FREE_LOCK()、IS_USED_LOCK()
用户锁函数,对于定时调度存储过程,该系列函数可以用于确保只有一个存储过程正在运行
类型的特殊功能,或者控制应用程序单线程运行类型的特殊功能。我们建议不要在分布式数
据库中使用存储过程,因此,也禁止使用此类函数。

4.11 聚合函数
分布式数据库 能够支持聚合函数与 GROUP BY,ORDER BY,HAVING 的使用;也
可以在 JOIN 语句中使用聚合函数。如:
SELECT count(t.id) FROM t LEFT JOIN t1 on t.id=t1.id GROUP BY t.name;

4.11.1 嵌套聚合函数
禁止在分布式数据库中使用 MAX(AVG())、COUNT(DISTINCT)这之类的嵌套聚合函数

感兴趣的别忘了关注我呀!

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论1 条评论

michael1983michael1983联盟成员技术总监某证券
2019-05-15 09:23
谢谢分享

Amygo@michael1983 不客气呦~后面会持续更新的~感兴趣可以关注我哦

2019-05-15 16:52
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广