Sqlserver 中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvertDateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助. 将sqlserver中table表的[datetime]字段值2007-11-0716:41:
Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,所以搜集了以下的一些SqlserverConvertDateTime相关的资料发表在自己的小站里,方便自己以后要用的时候寻找,望对大家也有帮助.
将sqlserver中table表的[datetime]字段值‘2007-11-0716:41:35.033’ 改为‘2007-11-0700:00:00‘去除了时分秒.[datetime]字段要为datetime类型的哦. UPDATE table SET[datetime]= Convert(char(11),[datetime],120)
1、获取当前日期利用 convert 来转换成我们需要的datetime格式. 貌似 oracle的 PLSQl中不能直接用呀。。。只适应与 sql server 之类的数据库???
select CONVERT(varchar(12) , getdate(), 112 ) 类似oracle 中的 to_char(xsdate,'yyyymm')
20040912
————————————————————
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
————————————————————
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
————————————————————
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004
————————————————————
select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004
————————————————————
select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004
————————————————————
select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004
————————————————————
select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004
————————————————————
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
————————————————————
select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1
————————————————————
select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004
————————————————————
select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1
————————————————————
select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
————————————————————
declare @dateTime DateTime–定义一个datetime的变量
set @dateTime=getdate(); –获取系统当前时间,并赋值给@dateTime字段
–短日期格式:yyyy-m-d
SELECTREPLACE(CONVERT(varchar(10),@dateTime,120),N'-0','-')
–长日期格式:yyyy年mm月dd日
SELECTSTUFF(STUFF(CONVERT(char(8),@dateTime,112),5,0,N'年'),8,0,N'月')+N'日'
–长日期格式:yyyy年m月d日
SELECT DATENAME(Year,@dateTime)+N'年'+CAST(DATEPART(Month,@dateTime)AS varchar)+N'月'+DATENAME(Day,@dateTime)+N'日'
–完整日
本文来源gao!daima.com搞$代!码#网#
期+时间格式:yyyy-mm-dd hh:mi:ss:mmm
SELECTCONVERT(char(11),@dateTime,120)+CONVERT(char(12),@dateTime,114)
————————————————————————————————
2、substring ,该函数用来求一个字符串的字串,该函数的使用频率很高。也不是oracle中的用法
示例字符串:”2011-11-17”
在Oracle中求字符串的函数为:substr
The syntax for the substr function is:
substr( string, start_position, [ length ] )
string:源字符串
start_position:子串第一个字符在源字符串中的起始位置
length:子串长度
测试结果:
1.
substr('2011-11-17',0,7)
2011-11
2.
substr('2011-11-17',1,7)
2011-11
3.
substr('2011-11-17',1,10)
2011-11-17
4.
substr('2011-11-17',1,11)
2011-11-17
5.
substr('2011-11-17',-1,7)
7
6.
substr('2011-11-17',-8,8)
11-11-17
7.
substr('2011-11-17',-10,7)
2011-11
8.
substr('2011-11-17',-11,7)
null
9.
substr('2011-11-17',-11)
null
10.
substr('2011-11-17',-1)
7
11.
substr('2011-11-17',6)
11-17
12.
substr('2011-11-17',11)
null
13.
substr (‘2011-11-17’,1,null)
null
14.
substr (‘2011-11-17’,null,1)
null
15.
substr (‘2011-11-17’,null,null)
null
16.
substr ('2011-11-17',1,0)
null
17.
substr ('2011-11-17',1,-1)
null
18.
substr ('2011-11-17',11,11)
null
Oracle中规定:
1) start_position==0时,子串的起始位置为1,即从第一个字符开始;
2) start_position<0时,字串的起始位置从字符串尾部开始后推。
3) length参数可以缺省
3、日期推算处理
oracle 时间函数(sysdate) to_char才是王道:oracle