Year(@time), Month(@time) 2 个函数即可。
然后用它们来组装字符串也就简单了。CONVERT(VarChar(7), @time, 120)会得到YYYY-MM。调用。
用转成字符串,,但此时他已经不是时间类型。
CONVERT(char(7),"你的时间例",120)
Ⅱ sql 小时转换成分钟
可以获得时间的 年、月、日、小时、分钟
然后自己写个函数转化一下就可以了
获得方法如下:
Sql Server中的日期与时间函数
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000
3. datediff 返回跨两个指定日期的日期和时间边界数。
select datediff(day,'2004-09-01','2004-09-18') --返回:17
4. datepart 返回代表指定日期的指定日期部分的整数。
SELECT DATEPART(month, '2004-10-15') --返回 10
5. datename 返回代表指定日期的指定日期部分的字符串
SELECT datename(weekday, '2004-10-15') --返回:星期五
6. day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(10),getdate(),120)
,当前时间=convert(varchar(8),getdate(),114)
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15')
,今天是周几=datename(weekday,'2004-10-15')
函数 参数/功能
GetDate( ) 返回系统目前的日期与时间
DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1
DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期
DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值
DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称
参数 interval的设定值如下:
值 缩 写(Sql Server) (Access 和 ASP) 说明
Year Yy yyyy 年 1753 ~ 9999
Quarter Qq q 季 1 ~ 4
Month Mm m 月1 ~ 12
Day of year Dy y 一年的日数,一年中的第几日 1-366
Day Dd d 日,1-31
Weekday Dw w 一周的日数,一周中的第几日 1-7
Week Wk ww 周,一年中的第几周 0 ~ 51
Hour Hh h 时0 ~ 23
Minute Mi n 分钟0 ~ 59
Second Ss s 秒 0 ~ 59
Millisecond Ms - 毫秒 0 ~ 999
Ⅲ SQL如何小时转换为分钟
sql2008里面,对于datetime型字段的,如果只存储时间,那么它的默认日期是1900-01-01那你的分钟只需楼上那样稍做计算就有了。
Ⅳ SQl 时间转换为小时和分的问题。
select convert(varchar(5),getdate(),108)
Ⅳ SQL 计算时间差问题,要精确到天小时分钟.
select
datediff(day,GETDATE(),getdate())--天数差
select
DATEDIFF
(HOUR,GETDATE()-2,getdate())
--小时差
值/24,就是天
select
DATEDIFF
(MINUTE,GETDATE()-2,getdate())
--俩个日期的分钟差,值/24,天数差,余值/60,小时差,余数为分钟。
Ⅵ oracle SQL语句,日期格式转换
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
1、日期和字符转换函数用法(to_date,to_char)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from al; //日期转化为字符串
select to_char(sysdate,'yyyy') as nowYear from al; //获取时间的年
select to_char(sysdate,'mm') as nowMonth from al; //获取时间的月
select to_char(sysdate,'dd') as nowDay from al; //获取时间的日
select to_char(sysdate,'hh24') as nowHour from al; //获取时间的时
select to_char(sysdate,'mi') as nowMinute from al; //获取时间的分
select to_char(sysdate,'ss') as nowSecond from al; //获取时间的秒
2、字符串和时间互转
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from al
select to_char( to_date(222,'J'),'Jsp') from al //显示Two Hundred Twenty-Two
(6)sql天小时分钟时间转换扩展阅读
date 转换为字符串:
to_char(日期,”转换格式” ) 即把给定的日期按照“转换格式”转换。
转换的格式:
表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年。
表示month的:mm 用2位数字表示月;mon 用简写形式 比如11月或者nov ;month 用全称 比如11月或者november。
表示day的:dd 表示当月第几天;ddd表示当年第几天;dy 当周第几天 简写 比如星期五或者fri;day当周第几天全写。比如星期五或者friday。
表示hour的:hh 2位数表示小时 12进制; hh24 2位数表示小时 24小时。
表示minute的:mi 2位数表示分钟。
表示second的:ss 2位数表示秒60进制。
Ⅶ SQL 时间格式转换
举例如下:
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
Ⅷ SQL中如何格式转换当前时间
ORACLE 数据库中的:
SELECT m.* FROM SFIS1.c_model_fai_t m where m.create_time between to_date('20100321010101','YYYYMMDDHH24MISS') and to_date('20100323235959','YYYYMMDDHH24MISS')
YYYYMMDDHH24MISS--精确到秒,即2010/03/23/ 23:59:59
sql server
style 参数
将 datetime 数据转换为 char 或 varchar 数据时,CONVERT 的 style 参数提供了各种日期显示格式。为 style 参数提供的数值确定了 datetime 数据的显示方式。年份可以显示为两位或四位数。默认情况下,SQL Server 将年份显示为两位数。若要显示包括世纪的四位数年份 (yyyy)(即使年份数据是使用两位数的年份格式存储的),请给 style 值加 100 以获得四位数年份。
Convert的使用方法:
格式:
Convert(data_type,expression[,style])
说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.
例子:
Select Convert(varchar(30),getdate(),101) now
结果为
now
03/23/2010
style数字在转换时间时的含义如下: Style(2位表示年份) Style(4位表示年份) 输入输出格式
0 100 mon dd yyyy hh:miAM(或PM)
1 101 mm/dd/yy
2 102 yymmdd
3 103 dd/mm/yy
4 104 ddmmyy
5 105 ddmmyy
6 106 dd mon yy
7 107 mon dd,yy
8 108 hh:mm:ss
9 109 mon dd yyyy hh:mi:ss:mmmmAM(或PM)
10 110 mmddyy
11 111 yy/mm/dd
12 112 yymmdd
13 113 dd mon yyyy hh:mi:ss:mmm(24小时制)
14 114 hh:mi:ss:mmm(24小时制)
20 120 yyyymmdd hh:mi:ss(24小时制)
21 121 yyyymmdd hh:mi:ss:mmm(24小时制)
以下示例显示用 style 参数进行转换:
Select CONVERT(char(12), GETDATE(), 3)
此语句把当前日期转换为样式 3,dd/mm/yy。
在这里我附上一些实例:
select CONVERT(varchar, getdate(), 120 )
2010-03-23 11:01:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20100323110114
select CONVERT(varchar(12) , getdate(), 111 )
2010/03/23
Ⅸ sql 时间转换
先获得当前日期,用:getdate();
再在当前日期上减一,表示昨天的日期;
用datename()取得指定日期的相应部分的字符串形式;
用datepart()取得指定日期的整数形式;
具体语句如下:
updat table_name
set time = datename(month,dateadd(dd,-1,getdate()))+' '+datepart(day,dateadd(dd,-1,getdate()))+','+datepart(yy,dateadd(dd,-1,getdate()))
where time='1天前'
*注:table_name 为表名,time为时间列名(类型nvarchar)
Ⅹ SQL如何取时间字段的小时和分钟
可用函数datename 返回代表指定时间字段的小时和分钟。SELECT datename(Hour Hh h, '2017-10-15 10:30:00') --返回:10,即10小时。SELECT datename(Minute Mi n, '2017-10-15 10:30:00') --返回:30,即30分钟。
拓展资料:
1、SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
2、SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。