SQL时间格式转number的问题

SQL中将时间先转char再转number时,请问17:30转成number后是多少?谢谢~

转换成int型会出错,SQL中好像没有number这种类型吧,不过你可以把时间的格式显示成数字的形式,具体转换参数如下:

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

2006-05-12

select CONVERT(varchar, getdate(), 120 )
2006-05-12 11:06:08

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

select CONVERT(varchar(12) , getdate(), 111 )
2006/05/12

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

select CONVERT(varchar(12) , getdate(), 102 )
2006.05.12

其它几种不常用的日期格式转换方法:

select CONVERT(varchar(12) , getdate(), 101 )
0612/2005
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.05.2006

select CONVERT(varchar(12) , getdate(), 105 )
12-05-2006

select CONVERT(varchar(12) , getdate(), 106 )
12 05 2006

select CONVERT(varchar(12) , getdate(), 107 )
05 12, 2006

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
0512 2006 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 052006

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-03
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)

SELECT CONVERT(VARCHAR(12),CONVERT(SMALLDATETIME,'20070615'),111)
结果:2007/06/15

指日期格式规则如下:

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 中的日期转换
在数据库取出来的时候就转换好
select getdate()

2004-09-12 11:06:08.177

我整理了一下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(10) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(10) , getdate(), 112 )
20040912

select CONVERT(varchar(10) , getdate(), 102 )
2004.09.12

其它我不常用的日期格式转换方法:

select CONVERT(varchar(10) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(10) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(10) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(10) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(10) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(10) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(10) , getdate(), 108 )
11:06:08

select CONVERT(varchar(10) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(10) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(10) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(10) , getdate(), 114 )
11:06:08.177
第2个回答  2020-01-08
这个很简单,按照获取时间排序即可。
select
*
from
(select
xzqmc,
row_number()
over
(order
by
getdate())
as
rownum
from
dic_xzdm)
mytable
where
rownum
between
10
and
20
--------------------------------
如果有自增主键那比用getdate强!
第3个回答  2009-12-03
有冒号是不可以转换的,会提示:无效数字