• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

日期2008-05-03 改为2008-5-3

zzxiaoma 百利软件 项目经理  2008-05-23 09:58:02
从数据库存放的是2008-5-3 8:01:01
通过convert(char(10),ff,120)转换后成为2008-05-03
我想得到2008-5-3,也就是去掉不超过10的0.
...全文
181 点赞 收藏 18
写回复
18 条回复
ChinaJiaBing 2008年05月24日

select replace(convert (nvarchar(10),ff,120),'-0','-')

回复 点赞
ChinaJiaBing 2008年05月24日

select replace(convert (char(10),ff,120),'-0','-')
回复 点赞
ChinaJiaBing 2008年05月24日
convert(char(10),ff,120)转换后成为2008-05-03

select replce(convert (char(10),ff,120),'-0','-')
回复 点赞
pt1314917 2008年05月24日

declare @dt datetime
set @dt='2008-05-03 8:01:01'
select datename(yy,@dt)+'-'+ltrim(datepart(mm,@dt))+'-'+ltrim(datepart(dd,@dt))

--or
SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')


回复 点赞
utpcb 2008年05月24日
declare @dt datetime set @dt='2008-5-3 8:01:01' select @dt, replace(convert(char(10),@dt,120), '-0', '-') /* ----------------------- ----------- 2008-05-03 08:01:01.000 2008-5-3 (1 row(s) affected) */

回复 点赞
lyyshui 2008年05月24日
[Quote=引用 6 楼 liangCK 的回复:]
SQL codeDECLARE@dtdatetimeSET@dt=GETDATE()--1.短日期格式:yyyy-m-dSELECTREPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')--2.长日期格式:yyyy年mm月dd日--A. 方法1SELECTSTUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N'年'),8,0,N'月')+N'日'--B. 方法2SELECTDATENAME(Year,@dt)+N'年'+DATENAME(Month,@dt)+N'月'+DATENAME(Day,@dt)+N'日'--3.长日期格式:yyyy年m月d日SELECTDATENAME(Year,@dt)+N'年'+CAST(DATEPART(Mon…
[/Quote]

学习!!!
回复 点赞
律己修心 2008年05月24日
[Quote=引用 14 楼 flyidealism 的回复:]
Everyone is so great that I must study hardly。
[/Quote]

顺便请多学习一下英语
回复 点赞
flyidealism 2008年05月24日
Everyone is so great that I must study hardly。
回复 点赞
-狙击手- 2008年05月23日
--1.短日期格式:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')
回复 点赞
areswang 2008年05月23日
二楼没考虑全,不好意思,顶熊!
回复 点赞
律己修心 2008年05月23日
declare @a varchar(10)
set @a='2008-05-03'

select
cast(datepart(yyyy,@a) as varchar(4))+'-'+
cast(datepart(mm,@a) as varchar(2))+'-'+
cast(datepart(dd,@a) as varchar(2))


select replace(@a,'-0','-')
回复 点赞
liangCK 2008年05月23日
DECLARE @dt datetime
SET @dt=GETDATE()

--1.短日期格式:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')

--2.长日期格式:yyyy年mm月dd日
--A. 方法1
SELECT STUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N'年'),8,0,N'月')+N'日'
--B. 方法2
SELECT DATENAME(Year,@dt)+N'年'+DATENAME(Month,@dt)+N'月'+DATENAME(Day,@dt)+N'日'

--3.长日期格式:yyyy年m月d日
SELECT DATENAME(Year,@dt)+N'年'+CAST(DATEPART(Month,@dt) AS varchar)+N'月'+DATENAME(Day,@dt)+N'日'

--4.完整日期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
SELECT CONVERT(char(11),@dt,120)+CONVERT(char(12),@dt,114)
回复 点赞
being21 2008年05月23日
select cast(datepart(month,getdate()) as char(2))+'-'+cast(datepart(day,getdate()) as char(2))
回复 点赞
律己修心 2008年05月23日
declare @a varchar(10)
set @a='2008-05-03'

select
cast(datepart(yyyy,@a) as varchar(4))+'-'+
cast(datepart(mm,@a) as varchar(2))+'-'+
cast(datepart(dd,@a) as varchar(2))
回复 点赞
dobear_0922 2008年05月23日
通过convert(char(10),ff,120)转换后成为2008-05-03
我想得到2008-5-3,也就是去掉不超过10的0.

-----------------------
replace(convert(varchar(10), ff, 120), '-0', '-')
回复 点赞
areswang 2008年05月23日
select substring(convert(char(10),'2008-5-3 8:01:01',112),1,4)+'-'+substring(convert(char(10),'2008-5-3 8:01:01',112),6,1)+'-'+substring(convert(char(10),'2008-5-3 8:01:01',112),8,1)
回复 点赞
dobear_0922 2008年05月23日
declare @dt datetime
set @dt='2008-5-3 8:01:01'

select @dt, replace(convert(char(10),@dt,120), '-0', '-')

/*

----------------------- -----------
2008-05-03 08:01:01.000 2008-5-3

(1 row(s) affected)

*/
回复 点赞
jhwcd 2008年05月23日
[Quote=引用 6 楼 liangCK 的回复:]
SQL codeDECLARE @dt datetime
SET @dt=GETDATE()

--1.短日期格式:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10),@dt,120),N'-0','-')

--2.长日期格式:yyyy年mm月dd日
--A. 方法1
SELECT STUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N'年'),8,0,N'月')+N'日'
--B. 方法2
SELECT DATENAME(Year,@dt)+N'年'+DATENAME(Month,@dt)+N'月'+DATENAME(Day,@dt)+N'日'

--3.长日期格式:yyyy年m月d日
SELECT DATENA…
[/Quote]
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告