在sql中如何将日期类型转换成文本类型,例如2012-09-12 转变成 20120912

在sql中如何将日期类型转换成文本类型,例如2012-09-12 转变成 20120912,第1张

类型转换: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位等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9760935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存