您的位置:首页 > 数据库

关于SqlServer2000时间问题的随笔

2011-03-25 15:16 204 查看
下面是一些关于sqlserver时间问题的总结,比较杂乱。

SQLserver中用convert函数转换日期格式

SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm

dateadd(dd,-5,getdate())查询的时候的时间加减,更改"-5"(天数)

将字符串转换为java.sql.Timestamp

SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");

java.sql.Timestamp value = new Timestamp(df.parse("2010-11-12 11:48:25").getTime());

将字符串装换为java.sql.Date

Date.valueOf("2010-11-12");

注意:Date.valueOf方法的参数形式为"yy-MM-dd"

例如:

select getdate()

2004-09-12 11:06:08.177

select CONVERT(char(10), getdate(), 120 )

2010-05-27

小技巧:利用字符长度截取日期格式的长度

整理了一下SQL Server里面可能经常会用到的日期格式转换方法:

举例如下:

select CONVERT(varchar, getdate(), 120 )

2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),''-'',''''),'' '',''''),'':'','''')

20040912110608

select CONVERT(varchar(12) , getdate(), 111 )

2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )

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

select getdate()

结果:2003-12-28 16:52:00.107

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

结果:20031228

select convert(char(8),getdate(),108)

结果:16:52:00

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

|

指日期格式

规则如下:

1 101 美国 mm/dd/yyyy

2 102 ANSI yy.mm.dd

3 103 英国/法国 dd/mm/yy

4 104 德国 dd.mm.yy

5 105 意大利 dd-mm-yy

6 106 - dd mon yy

7 107 - mon dd, yy

8 108 - hh:mm:ss

- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)

10 110 美国 mm-dd-yy

11 111 日本 yy/mm/dd

12 112 ISO yymmdd

- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)

14 114 - hh:mi:ss:mmm(24h)

- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]

- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]

- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)

- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM

- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

关于Emaker中字段的格式转换和字段间的运算代码可以加到属性里的“格式转换(读出)”和“格式转换(写入)”,table字段设定里的“字段”位置也可以灵活加函数。比如:''AF''+ID 或者ID+''/''+PWD ,convert(varchar(50),F1) ,

convert(int,%)-19110000 (读出)

convert(char(8),convert(int,%)+19110000) (写入)

实现行的合计运算等等。加入:%系统变量%,则是调用在Emaker 系统中设定的系统变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息