Sql 日月年 日期格式转 月日年 日期格式

原格式:
dd-mm月-yy 例:29-6月-06
目标格式:
mm dd yy 标准时间格式

Sql 复制字段并转成目标时间格式:

update TableName set [NewColName]=convert(datetime,replace(ColName,'月',''),5)

//TableName   表名
//NewColName  新建的字段名
//ColName   原时间所在字段名
// 月  替换的字符
// 5  日期的格式参数

Sql查询时间区间数据:

select * from TableName where convert(datetime,replace(ColName,'月',''),5) between convert(datetime,'starttime',5) and convert(datetime,'endtime',5)

//TableName   表名
//ColName   时间所在字段名
// 月  替换的字符
// 5  日期的格式参数
//starttime 开始时间
//endtime  结束时间

附:百度上查的SQL获取日期的所有格式
在SQL Server里有个getdate()的函数是用来获取日期的,不过精确到秒,比如查询select getdate();
出来的结果为2009-02-26 15:57:35.357,一般用的比较多的是只获取日期,并不需要时间,这时候就需要用到convert函数了。
在函数CONVERT()中你可以使用许多种不同风格的日期和时间格式。下表显示了所有的格式。

日期和时间的类型:

类型值            标准               输出
0                Default            mon dd yyyy hh:miAM
1                USA                mm/dd/yy
2                ANSI               yy.mm.dd
3                British/French     dd/mm/yy
4                German             dd.mm.yy
5                Italian            dd-mm-yy
6                -                  dd mon yy
7                -                  mon dd,yy
8                -                  hh:mi:ss
9                                   Default + milliseconds--mon dd yyyy hh:mi:ss:mmmAM(or )
10               USA                mm-dd-yy
11               JAPAN              yy/mm/dd
12               ISO                yymmdd
13               Europe             Default + milliseconds--dd mon yyyy
                                    hh:mi:ss:mmm(24h)
14                -                 hh:mi:ss:mmm(24h)

类型0,9,和13总是返回四位的年。对其它类型,要显示世纪,把style值加上100。类型13和14返回24小时时钟的时间。类型0,7,和13返回的月份用三位字符表示(用Nov代表November).
对表中所列的每一种格式,你可以把类型值加上100来显示有世纪的年(例如,00年将显示为2000年)。例如,要按日本标准显示日期,包括世纪,你应使用如下的语句:
SELECT CONVERT(VARCHAR(30),GETDATE(),111)
在这个例子中,函数CONVERT()把日期格式进行转换,显示为1997/11/30
方法:

select convert(varchar(8),getdate(),112)

20090226

select convert(varchar(10),getdate(),120)


2009-02-26
补充:
1、这里的varchar(10),指的是获取的字符段的个数,比如原本是2009-02-26 15:57:35.357,为了只获取2009-02-26字段,算了下,一共10个字符,所以选择varchar(10),又比如为varchar(7),则为2009-02。
2、convert(varchar(10),getdate(),120)里的120是显示日期的格式。
用 replace(‘2007053019:10:00’,’:’,”);替换:号

参考:https://zhidao.baidu.com/question/372303973.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值