微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CONVERT用法

CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在
sql Server中 将日期格式化.

使用 CONVERT:

CONVERT (data_type[(length)], expression [, style])


select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, 120 ),\'-\',\'\'),\' \',\':\',\'\')
20040912110608

select CONVERT(varchar(12) , 111 )
2004/09/12

select CONVERT(varchar(12) , 112 )
20040912

select CONVERT(varchar(12) , 102 )
2004.09.12

select CONVERT(varchar(12) , 101 )
09/12/2004

select CONVERT(varchar(12) , 103 )
12/09/2004

select CONVERT(varchar(12) , 104 )
12.09.2004

select CONVERT(varchar(12) , 105 )
12-09-2004

select CONVERT(varchar(12) , 106 )
12 09 2004

select CONVERT(varchar(12) , 107 )
09 12, 2004

select CONVERT(varchar(12) , 108 )
11:06:08

select CONVERT(varchar(12) , 109 )
09 12 2004 1

select CONVERT(varchar(12) , 110 )
09-12-2004

select CONVERT(varchar(12) , 113 )
12 09 2004 1

select CONVERT(varchar(12) , 114 )
11:06:08.177

--------------------------------------

SUBSTRING(CONVERT(varchar, 120), 1, 10) 输出yyyy-mm-dd 
SUBSTRING(CONVERT(varchar, 7) 输出yyyy-mm

-------------------------


select ltrim(str(month(inputtime)))+'-'+ltrim(str(day(inputtime)))+' '+ltrim(str(datepart(hh,inputtime)))+':'+ltrim(str(datepart(n,inputtime)) as time from table

如果时间为:
2005-9-15 15:03:02

查询结果:
9-15 15:3

语句如下:
SELECT SUBSTRING(CONVERT(char(19), INPUTTIME, 6, 11) AS TIME FROM TABLE

查询结果:
09-15 15:03

-----------------------

让2005-09-28 15:54:58  显示为2005-09-28

convert(char(10),time,120)

将 2006-3-17 18:14:00 格式化为:03-17

Function DataTime(Tag,tmpDataTime)
'输出格式化时间或者日期
Dim Str

If tmpDataTime="" then tmpDataTime=Now()'如果日期输出为空就用现在的时间来代替
If Tag<>"" and IsDate(tmpDataTime) then
    Str=Lcase(Tag)
    Str=Replace(Str,"yyyy",Year(tmpDataTime))
    Str=Replace(Str,"yy",Right(Year(tmpDataTime),2))
    Str=Replace(Str,"mm",Right("00"&Month(tmpDataTime),"dd",Right("00"&Day(tmpDataTime),"h",Right("00"&Hour(tmpDataTime),"m",Right("00"&Minute(tmpDataTime),"s",Right("00"&Second(tmpDataTime),2))
else
    Str=tmpDataTime
End if

DataTime=Str
End Function

 

你可以使用
DataTime(“mm-dd”,Now()) 输出你要的结果
如果是
yyyy:四位数年份
yy:2位数年份
mm:输出月份
dd:输出日期
h:输出时间
m:输出分中
s:输出

如果你要得到 类似“2006年5月30日”
那么只要使用DataTime(“yyyy年mm月dd日”,Now())

类似“06年5月30日”

那么只要使用DataTime(“yy年mm月dd日”,Now())
---------------

从库中取出2条信息,信息全部相同,仅仅时间上不同(秒级),如
第一条时间字段值:2006-05-12 10:22:04.000
第二条时间字段值:2006-05-12 10:22:08.000
问题:我怎么把这个时间格式化成 2006-05-12 10:22:00.000

响应者 1:

declare @t table(a datetime)
insert into @t select '2006-05-12 10:22:04.000'
union all select '2006-05-12 10:22:08.000'

select convert(datetime,convert(varchar(16),a,120)) from @t

响应者 2:

select convert(varchar(16),columnname,120) + ':00.000' from tablename

需要更新的话就用

udpate tablename 
set columnname = convert(datetime,120) + ':00.000',u5b8bu4f53; font-size:14px"> 响应者 3:


Declare @Time DateTIme
Set @Time='2006-05-12 10:22:08.000'
Select Cast(Convert(Varchar(16),@Time,120) As DateTime)

--結果
2006-05-12 10:22:00.000

响应者 4:

select convert(datetime,120)) from @t 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐