SQL CAST与CONVERT函数:选择与用法解析

创始人
2024-12-16 11:46:53
0 次浏览
0 评论

SQLcast和convert的区别是什么?

如果SQLServer程序员想要将表达式从一个表达式更改为另一个表达式,他可以在SQLServer7和2000附带的两个函数之间进行选择。
在存储过程或其他情况下,我们经常需要将数据从日期和时间类型转换为varchar类型。
CONVERT和CAST可以在这种情况下使用。
由于SQLServer提供了两种函数,因此很容易让人混淆选择哪一种或在何种情况下使用它。
CONVERT是专门为SQLServer开发的,它在日期和时间值与小数之间的转换方面提供了更大的灵活性。
CAST是这两个函数中更符合ANSI标准的一个,也就是说,虽然它更具有可移植性(例如,使用CAST的函数可以更容易地被其他数据库软件使用),但功能相对较弱。
但是,当您将小数转换为数值并在原始表达式中保留小数值时,您仍必须使用CAST。
因此,如果遇到需要使用CONVERT的情况,我建议先使用CAST,然后再使用CONVERT。
CAST和CONVERT也可以一起使用来实现特殊效果。
例如,常用以下方法生成当前日期下的字符变量:SELECTCONVERT(CHAR(10),CURRENT_TIMESTAMP,102)(102表示使用ANSI日期模式,即yy.mm.dd类型)但是,如果您希望将此变量准备生成为datetime或smalldatetime变量以在特定数据库列中兼容,那么您可以使用以下语句:SELECTCAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102)ASDATETIME返回值将为yy.mm.dd00:00:00(如12):00AM作为时间戳;

第三十六章SQL函数CURRENT_TIME

CURRENT_TIMESQL函数用于获取当前本地时间并返回时间数据类型。
该函数不需要参数,可以直接调用返回当前本地时间。
该时间将根据当地时间变化(例如夏令时)进行调整。
逻辑模式下,CURRENT_TIME以$HOROLOG格式返回,如37065;在显示模式下,它返回到区域设置的默认格式,例如10:18:27。
要调整显示格式,请使用SETOPTION命令,包括time_format和time_PRECISION选项。
CURRENT_TIME和CURTIME都用于返回当前时间,值类型为时间数据类型。
CURRENT_TIMESTAMP、GETDATE和NOW函数返回当前日期和时间,数据类型为TIMESTAMP。
请注意,除了GETUTCDATE之外,所有时间和日期SQL函数都特定于本地时区设置。
要获取通用当前时间戳(不受时区影响),请使用GETUTCDATE或ObjectScript$ZTIMESTAMP。
在嵌入式SQL中,时间数据类型存储为整数(自午夜以来的秒数),在显示时转换为时间格式,并作为整数返回。
时间戳数据类型以相同的格式存储和显示其值。
CURRENT_TIME可以用作CREATETABLE或ALTERTABLE中的默认规范关键字。
当用作默认规格时,无法指定精度设置。
返回的时间最多可以有9位精度,具体取决于系统中可用的精度。
最多可配置9位小数精度。
实际精度取决于平台。
以下示例返回当前系统时间。
此示例返回当前系统时间,精度为3位小数秒。
嵌入式SQL示例返回当前时间,以$HOROLOG格式存储,以整数形式返回。
该示例将联系人表中所选行的LastCall字段设置为当前系统时间。

SQL中的小数点后的输入位数.

1.例如:SELECTROUND(4,994,2)返回4,990。

2使用CAST函数(值为numeric(n,s)),其中n表示有效位数,s表示小数位数。
示例:SELECTCAST(4.994asnumeric(10,2))返回4.99。

3使用函数CONVERT(n,s),数值,其中n代表有效位数,s代表小数位数。
示例:SELECTCONVERT(numeric(10,2),4.985)返回4.99。

它使用的函数是TRUNC函数。
log函数类似于INT函数,截取日期或数字并返回指定值。
LOG函数直接删除数字的小数部分,而INT函数则四舍五入到最接近的整数。

扩展块名

TRUNC(number)语法形式:TRUNC(number,[decimal]

其中:

p

定义点后保留的位数。

​​

TRUNC(89.985,2)=89.98

TRUNC(89.985)=89

TRUNC(89.985,-1)=80

注意:第二个参数可以为负数,代表小数点左边指定位数之后的部分,即用于0。
类似的四舍五入,如果参数为1,四舍五入到第十位,如果为1,四舍五入到第十位,以此类推。

文章标签:
SQLcast CONVERT
热门文章
1
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

4
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

5
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

6
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

7
MySQL命令行操作指南:轻松启动和登录... 用命令行方式启动和登录mysql服务的方法1.启动MySQL服务1打开命令行窗口...

8
Linux Redis后台启动教程:配置... linux怎么启动redis1、首先,为了管理方便,将Redis文件中的conf...

9
MySQL浮点数与Decimal类型详解... MySQL中的float和decimal类型有什么区别小数类型可以准确地表示非常...

10
C语言实现输入10个整数并找出最大最小值... C语言从键盘输入任意的10个整数,从中找出最大值和最小值并输出代码:#inclu...