类型转换:convert(要转换成的数据类型,字段名称)
例如convert(varchar(100),col_name)
Convert(int,Order_no)
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
建议你将数据库中的日期字段改成字符串型。长度建议为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_Date&month(ThisDate)end ifif day(ThisDate)<10 then
Zhuanhuan_Date=Zhuanhuan_Date&"0"&day(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Date&day(ThisDate)end ifif hour(ThisDate)<10 then
Zhuanhuan_Date=Zhuanhuan_Date&"0"&hour(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Date&hour(ThisDate)end ifif minute(ThisDate)<10 then
Zhuanhuan_Date=Zhuanhuan_Date&"0"&minute(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Date&minute(ThisDate)end ifif second(ThisDate)<10 then
Zhuanhuan_Date=Zhuanhuan_Date&"0"&second(ThisDate)elseZhuanhuan_Date=Zhuanhuan_Date&second(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)显示出来。
数据库日期格式转换为char固定8位
Oracle中没有日期字符型数据,只有日期型数据。
将数值型日期转换成日期型数据用如下语句:
1
select to_date('20151225','yyyymmdd') from dual;
日期格式不会是20150907你这种的。都带有分割符,注:可以没有时间部分。
你这个没办法做,
convert 本身就是数据类型转换用的。112是你的字符串格式
SELECT CAST( convert(varchar(10), getdate(),112) AS DATE)
字符串和日期 必须符合整型的要求 整型是数字 字符串如果是数字的形式才可以转换 如果是汉字字母的话 你觉得能转换为数字吗? 肯定不行 日期也类似 如果日期类型是20130805这样的格式 你转换就没有问题 否则肯定报错
然后给你转换的 语法吧
--方法一:
select cast(字段名 as int)
--方法二:
select convert(int,字段名)
1
我用的是SQLyog数据库客户端。通过from_unixtime把Long时间转换为日期格式。具体用法如下:select from_unixtime(1388776825);执行即可
2
还可以增加时间格式,用法如下:
SELECT FROM_UNIXTIME( 1388776825, '%Y%m%d' ) 结果:20140104SELECT FROM_UNIXTIME( 1388776825, '%Y年%m月%d' ) 结果:2014年1月4
3
如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:
SELECT UNIX_TIMESTAMP() ;//获取当前时间的秒数
SELECT UNIX_TIMESTAMP('2014-03-23 10:10:40') ; //获取指定日期格式的秒数
SELECT UNIX_TIMESTAMP('2014-03-23') ; //获取指定日期格式的秒数
以上就是关于在sql中如何将日期类型转换成文本类型,例如2012-09-12 转变成 20120912全部的内容,包括:在sql中如何将日期类型转换成文本类型,例如2012-09-12 转变成 20120912、请问怎样使用asp将sqlserver中的日期型数据转换为字符串型,怎样将字符串型转换为日期型、数据库日期格式转换为char固定8位等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)