重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
字符转换为日期时,Style的使用\x0d\x0a--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式\x0d\x0aSELECT CONVERT(datetime,'11/1/2003',101)\x0d\x0a--结果:2003-11-01 00:00:00.000\x0d\x0a--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式\x0d\x0aSELECT CONVERT(datetime,'11/1/2003',103)\x0d\x0a--结果:2003-01-11 00:00:00.000\x0d\x0a \x0d\x0a/*== 日期转换为字符串 ==*/\x0d\x0aDECLARE @dt datetime\x0d\x0aSET @dt='2003-1-11'
目前成都创新互联已为上千家的企业提供了网站建设、域名、雅安服务器托管、网站改版维护、企业网站设计、桐乡网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
不知道你的字符串类型的日期是什么样子的,下面有一个例子:
Test_OldTable是包含19990101等nvarchar数据类型的表,
Test_NewTable是包含DateTime数据类型的表
sql语句:
INSERT INTO Test_NewTable(NewDate)
SELECT CAST(OldDate AS DateTime)
FROM Test_OldTable
其他的方法还有很多,给你个链接,看看吧,网上多找找
sql字符串转换成日期语句:日期=convert(datetime,字符串)。
CONVERT ()语句的用途是将一种数据类型的表达式转换为另一种数据类型的表达式。格式是CONVERT ( data_type [ ( length ) ] , expression [ , style ] )。
expression:任何有效的表达式。
data_type:目标数据类型。这包括 xml、bigint 和 sql_variant。不能使用别名数据类型。
length:指定目标数据类型长度的可选整数。默认值为 30。
style:指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。
返回类型:返回转换为 data_type 的 expression。
扩展资料:
如果 expression 为 date 或 datetime 数据类型,则其他值作为 0 进行处理。SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。
style 将datetime 和smalldatetime数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式;一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到。
采用这个命令 to_date('20201208','yyyy-mm-dd') 可以将20201208字符串转成日期类型2020-12-08。
好运请采纳
建议:
1、在该表临时加一个字段col1 设置为datetime类型
2、把08 31 2007 12:00AM转换到2007-08-31赋给col1
SET col1 = to_date('08 31 2007 12:00AM','mm dd yyyy HH:MIPM','nls_date_language=ENGLISH') 这里把'08 31 2007 12:00AM'换成你的老的字段名字。
3、把老字段所有值清零
4、修改老字段数据类型为datetime
5、把col1这个临时数据更新到老字段
===忘了,你这是sql server 如果to_date('08 31 2007 12:00AM','mm dd yyyy HH:MIPM','nls_date_language=ENGLISH')有问题,试试看
to_date('08 31 2007 12:00AM','mm dd yyyy HH:MIPM'),我不确定你的数据库字符集是什么。
建议你将数据库中的日期字段改成字符串型。长度建议为14位,即:yyyymmddhhmmss,这样在比较时间时也比较容易运算。同时也非常容易转换成为各种日期格式。如:
'函数:把时间改为字符串yyyymmddhhmmss
function Zhuanhuan_Date(ThisDate)
Zhuanhuan_Date=year(ThisDate)
if month(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"month(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Datemonth(ThisDate)end ifif day(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"day(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Dateday(ThisDate)end ifif hour(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"hour(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Datehour(ThisDate)end ifif minute(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"minute(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Dateminute(ThisDate)end ifif second(ThisDate)10 then
Zhuanhuan_Date=Zhuanhuan_Date"0"second(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Datesecond(ThisDate)end if
end function
'函数:把数据库中读出的时间yyyymmdd hh:mm:ss改为字符串“yyyy年mm月dd日 hh:mm:ss”
Function Date_N2C (ThisDate)
Date_N2C = mid(ThisDate,1,4) "年" mid(ThisDate,5,2) "月" mid(ThisDate,7,2) "日"
Date_N2C = Date_N2C" "mid(ThisDate,9,2)":"mid(ThisDate,11,2)":"mid(ThisDate,13,2)
End Function
调用时,将Zhuanhuan_Date(ThisDate)的值写入数据库,对于从数据库中取出的值,用函数Date_N2C (ThisDate)显示出来。