4个回答
展开全部
如果sql
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作为时间戳;
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作为时间戳;
展开全部
convert(要转换到的数据类型,要转换的变量或值,格式参数<没有格式参数按默认值>)
举例:
SELECT CONVERT(VARCHAR(10),GETDATE(),120) AS STRDATE
结果为2008-07-28
举例:
SELECT CONVERT(VARCHAR(10),GETDATE(),120) AS STRDATE
结果为2008-07-28
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CONVERT:
CONVERT (数据类型[长度], 表达式 [, 日期格式样式])
转换为日期型时可使用日期格式样式
不带世纪数位 (yy) 带世纪数位 (yyyy) 标准 输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
详情可见SQL Server联机丛书:T-SQL参考,“CAST 和 CONVERT”函数的相关说明
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。
语法
使用 CONVERT:
CONVERT (数据类型[长度], 表达式 [, 日期格式样式])
转换为日期型时可使用日期格式样式
不带世纪数位 (yy) 带世纪数位 (yyyy) 标准 输入/输出**
- 0 或 100 (*) 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM
详情可见SQL Server联机丛书:T-SQL参考,“CAST 和 CONVERT”函数的相关说明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
convert是对象,可以转化数据类型。具体F1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询