栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SQL Server数据类型转换函数cast()和convert()详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL Server数据类型转换函数cast()和convert()详解

SQL Server中,数据类型转换函数,常用的函数有cast()和convert()。

  • cast()和convert()函数比较:

(1)cast一般更容易使用,convert的优点是可以格式化日期和数值;

(2)convert一般用于日期和时间类型以及小数之间转换,而cast一般用于小数转数值和字符型;

(3)convert只是显示转换,而cast是强制转换。

一、cast()函数

cast()函数使用起来非常简单,语法为:

cast(字段名 as 转换的类型 )

如:

select cast(123.45?as int)? ? ? ? 
--123,将float类型转换为int类型

select cast('123.447654' as int)????????
--消息 245,级别 16,状态 1,第 1 行,在将 varchar 值 '2017.3' 转换成数据类型 int 时失败。



select cast('123.447654' as decimal)????????
--123,decimal代表只保留整数部分,不保留小数部分。

select cast('123.447654' as decimal(5,2))? ? ? ? 


select cast('20210922' as date)? ? ? ? 
--2021-09-22,将char类型转换为日期类型

select cast(getdate() as time)? ? ? ? 
--22:07:08.4200000,取当前的时间信息,不保留日期

二、convert()函数

语法:
convert(data_type(length),expression,style)

值

描述

data_type(length)

规定目标数据类型(带有可选的长度)。

expression

规定需要转换的值。

style

规定日期/时间的输出格式。

下面的表格展示了 datetime 或 smalldatetime 转换为字符数据的 style 值:

值
(世纪 yy)

值
(世纪 yyyy)

输入/输出

标准

-

0 or 100

mon dd yyyy hh:miAM (or PM)

Default

1

101

mm/dd/yy

USA

2

102

yy.mm.dd

ANSI

3

103

dd/mm/yy

British/French

4

104

dd.mm.yy

German

5

105

dd-mm-yy

Italian

6

106

dd mon yy

7

107

Mon dd, yy

8

108

hh:mm:ss

-

9 or 109

mon dd yyyy hh:mi:ss:mmmAM (or PM)

Default+millisec

10

110

mm-dd-yy

USA

11

111

yy/mm/dd

Japan

12

112

yymmdd

ISO

-

13 or 113

dd mon yyyy hh:mi:ss:mmm (24h)

14

114

hh:mi:ss:mmm (24h)

-

20 or 120

yyyy-mm-dd hh:mi:ss (24h)

-

21 or 121

yyyy-mm-dd hh:mi:ss.mmm (24h)

-

126

yyyy-mm-ddThh:mi:ss.mmm (no spaces)

ISO8601

-

130

dd mon yyyy hh:mi:ss:mmmAM

Hijiri

-

131

dd/mm/yy hh:mi:ss:mmmAM

Hijiri

如:

SELECT CONVERT(INT, 25.65)	--25

select CONVERT(decimal, '123.45') -- 123

select CONVERT(decimal(9,2), '123.45') -- 123.45

SELECT CONVERT(VARCHAr(25),GETDATE())	--09 22 2021 10:31PM

SELECT CONVERT(VARCHAr(24),GETDATE(),120)    --2021-09-22 22:32:43,最常用,保留日期时间信息

SELECT CONVERT(VARCHAr(10),GETDATE(),102)	--2021.09.22,只保留日期信息

SELECT CONVERT(VARCHAr(10),GETDATE(),111)	--2021/09/22,只保留日期信息

SELECT CONVERT(VARCHAr(10),GETDATE(),108)	--22:34:06,只保留时间信息

参考于:SQL Server CONVERT() 函数 | 菜鸟教程

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032186.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号