Ⅰ sql中 INT类型的时间如何转化为datetime的时间类型
首先
as datetime后,肯定是带年月日的时间,不可能是你说的那种15:00:00:000
再一个,你传一个整型需要多次类型转换
DECLARE@SearchTimeint=1500000000--输入查询时间
declare@varvarchar(20)
declare@strvarchar(20)
select@var=cast(@SearchTimeasvarchar)
select@str=LEFT(@var,2)+':'+SUBSTRING(@var,3,2)+':'+substring(@var,5,2)+'.'+right(@var,3)
selectCONVERT(varchar,@str,114)
最后这个结果也是个字符型的,如果你转成datetime型的,前边就会有1900-1-1了
Ⅱ 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',':','');替换:号
Ⅲ sql. 请教日期类型问题
这个函数可以帮你。
FormatDateTime() 函数
返回表达式,此表达式已被格式化为日期或时间。
FormatDateTime(Date[, NamedFormat])
参数
Date
必选项。要被格式化的日期表达式。
NamedFormat
可选项。指示所使用的日期/时间格式的数值,如果省略,则使用 vbGeneralDate。
设置
NamedFormat 参数可以有以下值:
常数 值 描述
vbGeneralDate 0 显示日期和/或时间。如果有日期部分,则将该部分显示为短日期格式。如果有时间部分,则将该部分显示为长时间格式。如果都存在,则显示所有部分。
vbLongDate 1 使用计算机区域设置中指定的长日期格式显示日期。
vbShortDate 2 使用计算机区域设置中指定的短日期格式显示日期。
vbLongTime 3 使用计算机区域设置中指定的时间格式显示时间。
vbShortTime 4 使用 24 小时格式 (hh:mm) 显示时间。
说明
下面例子利用 FormatDateTime 函数把表达式格式化为长日期型并且把它赋给 MyDateTime:
Function GetCurrentDate
'FormatDateTime 把日期型格式化为长日期型。
GetCurrentDate = FormatDateTime(Date, 1)
End Function
示例页面:
date是:2007-2-26
time是:13:28:43
formatdatetime(date,0)是:2007-2-26
formatdatetime(date,1)是:2007年2月26日
formatdatetime(date,2)是:2007-2-26
formatdatetime(date,3)是:0:00:00
formatdatetime(date,4)是:00:00
now是:2007-2-26 13:28:43
formatdatetime(now,0)是:2007-2-26 13:28:43
formatdatetime(now,1)是:2007年2月26日
formatdatetime(now,2)是:2007-2-26
formatdatetime(now,3)是:13:28:43
formatdatetime(now,4)是:13:28
Ⅳ sql数据库中时间类型如何排序
我们看到的是这种格式的字符串2009-10-18 10:49:25.00其实在数据库内部记忆的是从1900到现在的毫秒数所以你排序的时候,是以。1900年到指定时期的毫秒数大小来排序的
Ⅳ SQL Server 中 关于时间 类型的区别
1、首先获取当前系统数据库的日期和时间,可以利用函数GETDATE(),select GETDATE();如下图所示。
Ⅵ sql数据库中的时间类型
满意答案。9级2010-11-29使用nvarchar对于前期的实现比较容易,但性能及后期使用及后期需求开发比较困难 如按时间排序,数据库类型校验,根据时间段查询,根据时间的分组统计等等方面造成的影响比较大 追问: 如果用datetime 我的MyEclipse用Hibernate转换时是timestamp类型的 在用模糊查询查时间时有点纠结啊 老是报不能转换的错误 回答: 用hibernate啊 那你在配置文件注入类型不用时间戳 改成这个试试java.util.Date 补充: hibernate项目好几年没做过了 原来在数据库时间建模和操纵时习惯用java.sql.Timestamp与数据库中DateTime对应,但业务流通层,模型里还是用java.util.Date 因为这些时间直接的转换都是一样的方便,而且这样做逻辑理解上比较直观 记忆中是没有出现过错误,Timestamp在现在使用数据源时经常使用 追问: 知道用date类型的哇 但是hibernate自动生成的就是timestamp类型 不改配置文件 就用timestamp怎么做啊?总不能每次生成就改一次配置文件吧..... 追问: 还有我做的是模糊查询 在form里面时间又是string类型的 转换有点麻烦 回答: 你在createSQLQuery方法后面在使用 addScalar方法传入你datetime的实体对应名和hibernate类型试一下吧 补充: 这个的确比较麻烦,你可以写个公共转换方法进行转换 就是字符串根据你的时间格式进行取出时间long 然后转换就可以了 大概这样子 SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
Ⅶ SQL 日期类型
set @SD=convert(varchar(20),dateadd(month,-1,left(@AccountYearmonth,4) + '-' + right(@AccountYearmonth,2) + '-21'),120)
set @ED=convert(varchar(20),(left(@AccountYearmonth,4) + '-' + right(@AccountYearmonth,2) + '-20 00:00:00'),120)
Ⅷ sql以时间类型查询
select to_char(systimestamp,'DD-MON-YY HH.MI.SSxFF AM')FROM DUAL;
TO_CHAR(SYSTIMESTAMP,'DD-MON-Y
--------------------------------------
23-7月 -15 01.19.57.314000 下午
用这个格式
Ⅸ SQL里时间数据类型
datetime
Ⅹ sql语句中日期时间类型怎么比较
正常比较日期前后就好了,假设表名叫Table,有个字段叫CreateDate是日期类型的,如下:
select *
from Table
where CreatedDate>=CAST(DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)AS datetime)