Server程序员想将表达式从一种换为另一种,他可以从SQL
Server
7和2000中自带的两种功能中做出选择。在存储过程或其他情况下,我们常常需要将数据从datetime型转化成varchar型;CONVERT和CAST就可以用于这种情况。
由于SQL
Server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。CONVERT是专对SQL
Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。
CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST。因此,我建议首先使用CAST,如果遇到必须使用CONVERT的情况时再使用CONVERT。
CAST和CONVERT还能联合使用,达到特殊的效果。比如,在current
date下生成char变量一般使用以下方法:
SELECT
CONVERT(CHAR(10),
CURRENT_TIMESTAMP,
102)
(102表明使用了ANSI日期模式,即yy.mm.dd型)
然而,如果你希望将这个变量明确生成为datetime或smalldatetime变量,以此在特定的数据库栏中兼容,那么你可以使用以下语句:
SELECT
CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102)
AS
DATETIME
返回值将是
yy.mm.dd
00:00:00(如12:00AM作为时间戳;
SQL
Server
Date
函数
定义和用法
DATEADD()
函数在日期中添加或减去指定的时间间隔。
语法
DATEADD(datepart,number,date)date
参数是合法的日期表达式。number
是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。
datepart
参数可以是下列的值:
datepart
缩写
年
yy,
yyyy
季度
qq,
q
月
mm,
m
年中的日
dy,
y
日
dd,
d
周
wk,
ww
星期
dw,
w
小时
hh
分钟
mi,
n
秒
ss,
s
毫秒
ms
微妙
mcs
纳秒
ns
使用CAST函数进行数据类型转换时,在下列情况下能够被接受:(1)两个表达式的数据类型完全相同。
(2)两个表达式可隐性转换。
(3)必须显式转换数据类型。
SELECT
CAST('12.5'
AS
int)
CAST函数的用法:
1、CAST 函数 [数据类型转换]
2、功能:
返回转换为提供的数据类型的表达式的值。
3、语法:
CAST(expression AS data type)
4、参数:
expression 要转换的表达式
data type 目标数据类型
5、用法:
如果未指定字符串类型的长度,数据库服务器将选择适当的长度。如果没有为十进制转换指定精度和小数位数,则数据库服务器将选择适当的值。
6、示例:
下面的函数确保字符串被用作日期:
SELECT CAST( '2000-10-31' AS DATE )
计算表达式 DE<1 + 2DE<的值,并将结果转换为单字符字符串。
SELECT CAST( 1 + 2 AS CHAR )
可以使用 CAST 函数缩短字符串:
SELECT CAST( 'Surname' AS CHAR(5) )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)