SQL进阶-数据类型转换
一般有这几种转换:

一、数值型与字符型的转化
###
数值型转为字符型:
65 –> '65' select cast(65 as char);
65 –> 'A' select char(65);
65.23 --> '65.23' select cast(65.23 as char(10)); ###
字符型转为数值型:
'65.23' –> 65 select cast('65.23' as signed int);
'65.23' --> 65.23 select cast('65.23' as decimal(5,2));
'A' –> 65 select ASCII('A');
二、数值型与日期和时间型的转化
###
数值型转为日期和时间型:
20190903 --> 日期2019-09-03 select cast(20190903 as date); 815 --> 时间00:08:15 select cast(815 as time); 0200815002356 --> 时间戳2020-08-15 00:23:56 select cast(20200815002356 as datetime); ##把Unix时间戳转为日期
1628434346325 --> 2021-08-08 22:52:26 select from_unixtime(1628434346325/1000, '%Y-%m-%d %H:%i:%s'); ###
日期时间型转为数值型:
如:2019-09-03 –> 20190903 select cast(current_date() as signed); 如:14:04:10 –> 140410 select cast(current_time() as signed); 如:2019-09-03 14:04:10 --> 20190903140410 select cast(now() as signed); 如:如:2019-09-03 –> 2019 select year(current_date()); 如:14:04:10 –> 10 select second(current_time); ##把日期类型转为Unix时间戳
select unix_timestamp('2019-09-03 11:47:30');
三、字符型与日期和时间型的转化
###
字符型转换为日期时间型:
‘20190903’ --> 日期2019-09-03 select cast('20190903' as date); '2019-09-03' --> 日期2019-09-03 select cast('2019-09-03' as date); ‘2109/09/03’ --> 日期2019-09-03 select cast('2019/09/03' as date); ‘2019#09#03’ --> 日期2019-09-03 select cast('2019#09#03' as date); '00:08:15' --> 时间00:08:15 select cast('00:08:15' as time); '20210808225226' --> 时间戳2020-08-15 00:08:15 select CAST('20210808225226' AS DATETIME); '2021-08-08 22:52:26' --> 时间戳2021-08-08 22:52:26 select cast('2021-08-08 22:52:26' as datetime); ###
日期时间型转为字符型:
如:日期2019-09-03 –> '20190903' select DATE_FORMAT(CURRENT_DATE(),'%Y%m%d') 如:日期2019-09-03 --> '2019-09-03' select CAST(CURRENT_DATE() AS DATE);
select DATE_FORMAT(CURRENT_DATE(),'%Y-%m-%d'); 如:日期2020-08-15' --> '2020-08' select DATE_FORMAT(CURRENT_DATE(),'%Y-%m'); 时间00:08:15 --> '00:08:15' select DATE_FORMAT(NOW(),'%H:%i:%s');
select CAST(CURRENT_TIME() AS CHAR); 时间戳2020-08-15 00:08:15 –> '20210808225226' select DATE_FORMAT(NOW(),'%Y%m%d%H%i%s') 时间戳2021-08-08 22:52:26 --> '2021-08-08 22:52:26' select CAST(NOW() AS CHAR);
select DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'); 日期2020-08-15 --> Thursday select DAYNAME(CURRENT_DATE()); 日期2020-08-15 --> August select MONTHNAME(CURRENT_DATE());

SQL进阶-数据类型转换的更多相关文章
- SQL Server数据类型转换
在SQL Server日常的函数.存储过程和SQL语句中,经常会用到不同数据类型的转换.在SQL Server有两种数据转换类型:一种是显性数据转换:另一种是隐性数据转换.下面分别对这两种数据类型转换 ...
- SQL中数据类型转换
CAST 和 CONVERT 将某种数据类型的表达式显式转换为另一种数据类型.CAST 和 CONVERT 提供相似的功能. 语法 使用 CAST: CAST ( expression AS data ...
- Hibernate Java、Hibernate、SQL 之间数据类型转换
Hibernate映射类型 Java类型 标准SQL类型 integer java.lang.Integer integer long java.lang.Long bigint sho ...
- SQL Server 数据类型转换函数
T-SQL提供了两个显示转换的函数:CAST函数和CONVERT函数. 1. CAST函数 语法: CAST ( expression AS data_type [ ( length ) ] ) 示例 ...
- sql server 数据类型转换
--这是显示转换类型,将字符串转成整形SELECT CAST('1' AS int),CONVERT(int,'1')--SqlServer也会隐式转换,如:用字符串乘以一个整形,--整形优先级要大, ...
- SQL Server Cast、Convert数据类型转换
一.概述 本篇文章转载来着官网在线文档,文章主要介绍SQL Server数据类型转换相关语法.隐式转换.Date样式等. 语法 Syntax for CAST: CAST ( expression A ...
- Sql Server函数全解<三>数据类型转换函数和文本图像函数
阅读目录 一:数据类型转换函数 二:文本和图像函数 一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和flo ...
- Sql Server函数全解(三)数据类型转换函数和文本图像函数
一:数据类型转换函数 在同时处理不同数据类型的值时,SQL Server一般会自动进行隐士类型转换.对于数据类型相近的值是有效的,比如int和float,但是对于其它数据类型,例如整型和字符类型,隐士 ...
- Sql数据类型转换
一.ASCII码值与字符间转换 1.ASCII()与CHAR() ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用''括起来,但含其 ...
随机推荐
- java中什么是包
一.什么是包 包允许将类组合成较小的单元(类似文件夹),使其易于找到和使用相应的类文件 包有助于避免命名冲突.在使用许多类时,类和方法的名称很难决定.有时需要使用与其他类相同的名称.包基本上隐藏了类并 ...
- 示例:WPF实现ApplicationCommands.Delete的TextBox
原文:示例:WPF实现ApplicationCommands.Delete的TextBox 目的:通过模仿TextBox中Ctrl+C等快捷键原理来了解CommandBindings实现原理,可以通过 ...
- laravel 查询随机数据
laravel 中 随机搜索数据 $tweet = Tweet::where('id',$id) ->orderBy(\DB::raw('RAND()')) ->take(1) -> ...
- 数据库‘master’中拒绝CREATE DATABASE权限
今天在创建数据库的时候,遇到了没有创建数据库权限的问题,后来百度了一下解决了该问题. 1.先用windows身份验证登录,在安全性下面的找到自己创建的登录名,双击,在弹出的对话框中为它赋予权限. 2. ...
- js获取简单表单对象(1)
<form id="form"> <input type="text" name="username" value ...
- 手机端 关闭当前页面的JS
JS 代码如下 PS:我找的原代码中, 注释部分是没有注释的,但是调试的时候报错,就注释掉了,因为我只需要微信和支付宝的判定,所以这个地方,就没仔细研究 var isLppzApp = false ...
- Socker编程之UDP
一:socket简介 1. 不同电脑上的进程之间如何通信 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起! 在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的. ...
- 2019 中至数据java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.中至数据等公司offer,岗位是Java后端开发,因为发展原因最终选择去了中至数据,入职一年时间了,也成为了面 ...
- 在微信小程序中使用redux
本文主要讲述,在微信小程序中如何使用redux DEMO 需要解决的问题 如何在小程序中引入redux状态管理库,及它相关的插件? 微信小程序没有清晰的异步api,便于thunkMiddleware处 ...
- Android源码分析(五)-----如何从架构师的角度去设计Framework框架
一 : 架构与程序 软件架构是一种思维方式,而程序只是实现思维方式的一种手段,代码固然重要,但是若没有整体的思维架构,一切程序都如水中浮萍. 二 : 框架如何设计 暂时抛开Android Framew ...