如何将表的varchar类型字段的数据经过转换格式后复制到另一个datetime类型的字段中 这个表有两个字段,一个是time,varchar类型,一个是date,datetime类型例如将'01 16 2012 1 '转换为datetime类型'2012-1-16'求具体代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 . 数据类型转换函数(以下两种函数功能类似,但是 convert 在进行日期转换时还提供了丰富的样式,cast 只能进行普通的日期转换)函数名称 参数 示例 描述convert(数据类型[(长度)],表达式[,样式])select convert(nvarchar,123) 返回123select N'年龄:'+convert(nvarchar,23)返回 年龄:23(注意:如果想要在结果中正确显示中文需要在给定的字符串前面加上 N,加 N 是为了使数据库识别Unicode 字符)select convert(nvarchar ,getdate())将一种数据类型的表达式显式转换为另一种数据类型的表达式。长度:如果数据类型允许设置长度,可以设置长度,例如varchar(10)样式:用于将日期类型数据转换为字符数据类型的日期格式的样式。见下表返回 04 28 2009 10:21PMselect convert(nvarchar ,getdate(),101)返回 04/28/2009select convert(nvarchar ,getdate(),120)返回 2009-04-28 12:22:21Select convert(nvarchar(10) ,getdate(),120)返回 2009-04-28cast(表达式 as 数据类型[(长度)])select cast(123 as nvarchar)返回 123select N'年龄:'+cast(23 as nvarchar)返回 年龄:23将一种数据类型的表达式显式转换为另一种数据类型的表达式。日期类型数据转为字符数据类型的日期格式的部分样式表当两个不同数据类型的表达式用运算符组合后,数据类型优先级规则指定将优先级较低的数据类型优先转换为优先级较高的型。 如果此转换不是所支持的隐式转换,则返回错误。 当两个操作数表达式具有相同的数据类型时,运算的结果便为该数据类型。如果需要把优先级高的数据类型转换优先级低的数据类型时需要使用数据类型转换函数进行显示转换。 SQL Server 2005 对数据类型使用以下优先级顺序(先高后低):不带世纪数位 (yy)带世纪数位 (yyyy)标准输入/输出-0 或 100默认设置mon dd yyyy hh:miAM(或 PM)1 101美国mm/dd/yyyy 2 102 ANSI yy.mm.dd 3103英国/法国dd/mm/yy 4 104德国dd.mm.yy 5 105意大利dd-mm-yy 120ODBC 规范yyyy-mm-ddhh:mi:ss(24h) select convert(datetime,replace('01 16 2012',' ','/'),120) as new/*new2012-01-16 00:00:00.000*/ 求sql语句 如何设置“数据库中内容被挂马清除工具”,在线等! FoxPro数据导入到SQL SERVER 2005的问题 sql问题 调整排序的SQL语句怎么写的? 一条很简单的sql语句(在下刚学,请指教,如果好,我加分) 如何用sql将binary字段转换为字符串显示 update触发器问题,急啊,困扰了很久 SQL提示如下错误信息是什么意思? 一条SQL2000字符串匹配的问题! 求助高手 无法创建表,提示:指定的架构名称 "dbo" 不存在,或者您没有使用该名称的权限。
. 数据类型转换函数(以下两种函数功能类似,但是 convert 在进行日期转换时还提供了丰富的样式,cast 只能进行普通的日期转换)函数名称 参数 示例 描述convert(数据类型[(长度)],表达式[,样式])select convert(nvarchar,123) 返回123select N'年龄:'+convert(nvarchar,23)返回 年龄:23(注意:如果想要在结果中正确显示中文需要在给定的字符串前面加上 N,加 N 是为了使数据库识别Unicode 字符)select convert(nvarchar ,getdate())将一种数据类型的表达式显式转换为另一种数据类型的表达式。长度:如果数据类型允许设置长度,可以设置长度,例如varchar(10)样式:用于将日期类型数据转换为字符数据类型的日期格式的样式。见下表返回 04 28 2009 10:21PMselect convert(nvarchar ,getdate(),101)返回 04/28/2009select convert(nvarchar ,getdate(),120)返回 2009-04-28 12:22:21Select convert(nvarchar(10) ,getdate(),120)返回 2009-04-28cast(表达式 as 数据类型[(长度)])select cast(123 as nvarchar)返回 123select N'年龄:'+cast(23 as nvarchar)返回 年龄:23将一种数据类型的表达式显式转换为另一种数据类型的表达式。日期类型数据转为字符数据类型的日期格式的部分样式表当两个不同数据类型的表达式用运算符组合后,数据类型优先级规则指定将优先级较低的数据类型优先转换为优先级较高的型。 如果此转换不是所支持的隐式转换,则返回错误。 当两个操作数表达式具有相同的数据类型时,运算的结果便为该数据类型。如果需要把优先级高的数据类型转换优先级低的数据类型时需要使用数据类型转换函数进行显示转换。 SQL Server 2005 对数据类型使用以下优先级顺序(先高后低):不带世纪数位 (yy)带世纪数位 (yyyy)标准输入/输出-0 或 100默认设置mon dd yyyy hh:miAM(或 PM)1 101美国mm/dd/yyyy 2 102 ANSI yy.mm.dd 3103英国/法国dd/mm/yy 4 104德国dd.mm.yy 5 105意大利dd-mm-yy 120ODBC 规范yyyy-mm-ddhh:mi:ss(24h)
select convert(datetime,replace('01 16 2012',' ','/'),120) as new
/*
new
2012-01-16 00:00:00.000
*/