关于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 系统中设定的系统变量。
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 系统中设定的系统变量。
相关文章推荐
- 工作随笔——贰(关于字符串非空判断与数据库中日期时间问题)
- seo 关于时间的问题
- 关于Oracle中取时间问题
- 关于SQL SERVER2000过段时间就无法启动的问题?
- 关于Json格式中时间格式转化问题
- 关于客户端与数据库服务器端的时间同步问题
- 关于一个时间的转换问题。由一个RFC3339时间格式的字符串转为本地时间
- 关于php时区时间错误问题
- 关于ORACLE时间存储的问题
- 关于Mysql时间相减问题的bug
- Pentaho PDI 数据导入关于时间格式及重复数据处理这2个问题的解决方法
- 【c++】关于时间复杂度和空间复杂度的相关问题
- 关于SQL中时间的比较和格式化问题---填坑
- 关于SimpleDateFormat安全的时间格式化线程安全问题
- 关于时间插件的问题
- 关于系统时间被改问题的解决办法
- 关于SimpleDateFormat安全的时间格式化线程安全问题
- 关于ThinkPHP5.0*的软删除delete_time的引用和部分时间函数where(),whereTime()连贯操作的问题
- 关于向Mysql数据库中插入时间只有日期没有时分秒的问题
- (2010-07-14)关于Oracle中设置缺省时间显示格式的问题