前言
小编最近在项目中学习大佬们的代码,看到sql查询语句跟我见过的有些不一样,我就知道学习的机会又来了。
正文
Sql Server中的格式转换功能
Sql语句中常用的类型转换函数主要有两种,Cast 函数和Convert函数。在大多数情况下,两者执行的功能相同,但是Convert函数还能进行一些特别的日期转换,Cast函数就没有这个功能。
Cast函数
1、语法
cast(expression as data_type[(length)])
//AS 之前是要处理的数据,AS 之后是要转换的数据类型
2、示例
//输出ting3
select 'ting3'+CAST(3 AS varchar)
//输出13.14
select CAST(13.1415926 as decimal(5,2))
//日期转换
//输出2018-03-26 00:00:00.000
select CAST('2018-03-26' as datetime)
Convert函数
1、语法
convert(data_type[(length)],expression[,style])
//data_type 表示目标数据类型,expression表示需要转换的值,style 表示日期/时间的输出格式
2、示例
//输出ting3
select 'ting3'+ CONVERT(varchar,3)
//输出13.14
select CONVERT(decimal(5,2),13.1415926)
//日期转换
//输出2018-03-26 00:00:00.000
select CONVERT(datetime,'2018-03-26')
3、Convert 函数有更多的方式将时间转换为字符串
使用示例
--输出 2018-03-26 19:16:26.393,getdate()用来获取当前时间/日期
select convert(varchar(64),getdate(),121) date from POM_ORDER_EXT where PomOrderPK = 60
--输出 2018-03-26 19:16:46
select convert(varchar(64),getdate(),120) date from POM_ORDER_EXT where PomOrderPK = 60
--输出 2018-03-26
select convert(varchar(64),getdate(),23) date from POM_ORDER_EXT where PomOrderPK = 60
Mysql 中Cast函数和Convert函数
CAST(value as type) //CAST(xxx AS 类型)
CONVERT(value, type) //CONVERT(xxx,类型)
使用示例
//字符串转换为整数
select CAST('13.14' AS signed) //输出13
select CONVERT('13.14',signed) //输出13
总结
感谢您的阅读,本文中简单说明了Mysql和SQL server 中的类型转换函数,大家可以去了解一下Oracle中的转换函数。