(八)转换函数
| 函数 | 功能 |
|---|---|
| CAST、CONVERT | 数据类型转换 |
| CONV | 不同数字进制间的转换 |
| TO_NUMBER | 字符串 string转化成数值 |
| TO_CHAR | 日期转化为字符串 |
| TO_DATE | 字符串 string 格式化成 format 类型的日期 |
TO_DATE 函数的功能不如 DATE_FORMAT 强大,所以本文没有该函数的示例。
1、CAST(expr AS type)、CONVERT(expr,type)
功能 :数据类型转换。
参数:type 可以是下列值之一:
CHAR、DATE、DATETIME、DECIMAL、TIME、NUMERIC、INT、SIGNED INT、SIGNED
| 函数调用 | 返回值 | 解释 |
|---|---|---|
| NOW() | 2019-06-07 04:10:02 | 当前日期时间 |
| CAST(NOW() AS DATE) | 2019-06-07 | 将 datetime 类型转换为 date 类型 |
- 隐式转换规则
(1) 若字符串是以数字开头,并且全部都是数字,则转换的数字结果是整个字符串;部分是数字,则转换的数字结果是截止到第一个不是数字的字符为止。
SELECT '122ABC' + 1; # 结果:123
(2) 若字符串不是以数字开头,则转换的数字结果是 0
SELECT 'AB33' + 100; # 结果:100
2、CONV (N,from_base,to_base)
功能:数字进制转换。
参数:将 N 由 from_base 进制转化为 to_base 进制的字符串,任意一个参数为 NULL,则返回值为 NULL。
| 函数调用 | 返回值 | 解释 |
|---|---|---|
| CONV(5,10,2) | 101 | 十进制转二进制 |
| CONV(‘FF’,16,10) | 255 | 十六进制转十进制 |
3、TO_CHAR (datetime,[FORMAT])
功能:将日期时间转换为字符串,并进行格式化输出。
TO_CHAR (number,[FORMAT])
功能:将数字转换为字符串,并进行格式化输出。
| 函数调用 | 返回值 | 解释 |
|---|---|---|
| NOW() | ||
| TO_CHAR(now(),‘YYYY/MM/DD’) | 2022/06/10 | 2022-06-10 15:30:50 |
| TO_CHAR(now(),‘YYYY"年"MM"月"DD"日"’) | 2022年06月10日 | 插入 FORMAT 以外的字符要使用双引号 |
| TO_CHAR(987654321,‘999,999,999’) | 987,654,321 | 千分位格式 |
4、TO_NUMBER
功能:将字串表达式中的数字转换为数值型。
| 函数调用 | 返回值 | 解释 |
|---|---|---|
| TO_NUMBER(‘3.14’)+3.14 | 6.28 | 依赖隐式转换、不用 TO_NUMBER 也是可以的 |
| SELECT TO_NUMBER(’+000000123’) | 123 |
最后修改时间:2023-09-25 09:06:03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




