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?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|