⑴ sql取出时间字段的月日时间。例如:2012-4-6 13:59:26 ,我怎样取出4-6 13:59:26 谢谢各位,在线等!
SELECT SUBSTRING(CONVERT(NVARCHAR,GETDATE(),120),6,14)输出余皮结果:06-14 15:34:22
把GETDATE()换成你的时间。
去百扒毁蔽度收 CONVERT(NVARCHAR,GETDATE(),120) 各种参数 120 是其中春州一种
⑵ 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 中字符转换时间的问题
首先“090807”这样的字符串,转不了时间格式睁卜,应为他是不前腔完整的
其次,你的这个“3211999090807”字符串你可以确定他的位数吗?也就是说,你确定他一直悉悔穗是13吗?
只有这个确定你才能把字符串格式转化为时间格式,
⑷ SQL数据库中怎么将时间格式转换到年和月
Year(@time), Month(@time) 2 个函数即可。
然后用它们来组装字符串也就简单了。CONVERT(VarChar(7), @time, 120)会得到YYYY-MM。调用。
用转成字符串,,但此时他已经不是时间类型。
CONVERT(char(7),"你的时间例",120)
⑸ sql中 如何将201610转换为2016-10 即把6位数字转换为日期格式
你这也不叫日期格式,完整颤源的日期格式是带年月日,或则基者年月日时分秒的,你这顶多算年份和月份之间加个横线
看具体什么数据库了,mysql如下:
selectconcat(substring(字段名,1,4),'-',substring(字段名茄盯态,5,2))from表名
sqlserver如下:
selectsubstring(字段名,1,4)+'-'+substring(字段名,5,2)from表名
oracle如下:
selectsubstr(字段名,1,4)||'-'||substr(字段名,5,2)from表名
⑹ sql server 2005 六位字符串'如201311'转日期格式
select cast('201201' as date)
自动的,当然祥改清,里面不要有不合适的数据
还是要判断下字符歼让串的谨前长度,然后再组合吧,
⑺ oracle里有什么日期函数可以一并处理六位、八位的数值成日期么
先把create_time转档闭换为统一长度,再做时间转换,sql如此州下:
selectto_date(decode(length(to_char(create_time)),6,to_char(create_time)||'森蠢蔽01',to_char(create_time)),'yyyymmdd')fromal;
⑻ 请问SQL中如何将1列是6个数字的字段(举例:135313)转换成时间格式(13:53:13)
字符串截取,并伍然后绝拿或转换成CHAR 相加:
select substring('135313',1,2)+':'+substring('135313'敏孙,3,2)+':'+substring('135313',5,2)
⑼ sql 截取表中日期前六位用于查询在某一段时间之内的数据
你裤清信慎可以采用这个方式: DATEDIFF(day,cardInfo.openDate,getdate())<=7 其中day表示天胡坦前数cardInfo.openDate是表中的一个字段,getdate()是获取当前日期
⑽ 如何在 SQL Server中 将日期格式化
SQLServer中将日期格式化:
CONVERTSQLServer中将日期格式化2008年12月22日星期一16:39CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在
SQLServer中将日期格式化.
SQLServer支持使用科威特算法的阿拉伯样式中的数据格式。
在表中,左侧的两列表示将datetime或smalldatetime转换为字符数据的style值。给style值加
100,可获得包括世纪数位的四位年份(yyyy)。
不带世纪数位(yy)带世纪数位(yyyy)
标准
输入/输出**
-0或100(*)默认值monddyyyyhh:miAM(或PM)
1101美国mm/dd/yyyy
2102ANSIyy.mm.dd
3103英国/法国dd/mm/yy
4104德国dd.mm.yy
5105意大利dd-mm-yy
6106-ddmonyy
7107-mondd,yy
8108-hh:mm:ss
-9或109(*)默认值+毫秒monddyyyyhh:mi:ss:mmmAM(或PM)
10110美国mm-dd-yy
11111日本yy/mm/dd
12112ISOyymmdd
-13或113(*)欧洲默认值+毫秒ddmonyyyyhh:mm:ss:mmm(24h)
14114-hh:mi:ss:mmm(24h)
-20或120(*)ODBC规范yyyy-mm-ddhh:mm:ss[.fff]
-21或121(*)ODBC规范(带毫秒)yyyy-mm-ddhh:mm:ss[.fff]
-126(***)ISO8601yyyy-mm-ddThh:mm:ss:mmm(不含空格)
-130*科威特ddmonyyyyhh:mi:ss:mmmAM
-131*科威特dd/mm/yyhh:mi:ss:mmmAM
*默认值(style0或100、9或109、13或113、20或120、21或121)始终返回世纪数位(yyyy)。
**当转换为datetime时输入;当转换为字符数据时输出。
***专门用于XML。对于从datetime或smalldatetime到character数据的转换,输出格式如表中所示。对于从
float、money或smallmoney到character数据的转换,输出等同于style2。对于从real到
character数据的转换,输出等同于style1。
重要默认情况下,SQLServer根据截止年份2049解释两位数字的年份。即,两位数字的年份49被解释为2049,而两位数字的年份
50被解释为1950。许多客户端应用程序(例如那些基于OLE自动化对象的客户端应用程序)都使用2030作为截止年份。SQLServer
提供一个配置选项("两位数字的截止年份"),借以更改SQLServer
所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。
当从smalldatetime转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从datetime或smalldatetime
值进行转换时,可以通过使用适当的char或varchar数据类型长度来截断不需要的日期部分。
下表显示了从float或real转换为字符数据时的style值。
值输出
0(默认值)最大为6位数。根据需要使用科学记数法。
1始终为8位值。始终使用科学记数法。
2始终为16位值。始终使用科学记数法。
在下表中,左列表示从money或smallmoney转换为字符数据时的style值。
值输出
0(默认值)小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如4235.98。
1小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如3,510.92。
2小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,例如4235.9819。
使用CONVERT:
CONVERT(data_type[(length)],expression[,style])
selectCONVERT(varchar,getdate(),120)
2004-09-1211:06:08
selectreplace(replace(replace(CONVERT(varchar,getdate(),120
),'-',''),'',''),':','')
20040912110608
selectCONVERT(varchar(12),getdate(),111)
2004/09/12
selectCONVERT(varchar(12),getdate(),112)
20040912
selectCONVERT(varchar(12),getdate(),102)
2004.09.12
selectCONVERT(varchar(12),getdate(),101)
09/12/2004
selectCONVERT(varchar(12),getdate(),103)
12/09/2004
selectCONVERT(varchar(12),getdate(),104)
12.09.2004
selectCONVERT(varchar(12),getdate(),105)
12-09-2004
selectCONVERT(varchar(12),getdate(),106)
12092004
selectCONVERT(varchar(12),getdate(),107)
0912,2004
selectCONVERT(varchar(12),getdate(),108)
11:06:08
selectCONVERT(varchar(12),getdate(),109)
091220041
selectCONVERT(varchar(12),getdate(),110)
09-12-2004
selectCONVERT(varchar(12),getdate(),113)
120920041
selectCONVERT(varchar(12),getdate(),114)
11:06:08.177
SELECTCONVERT(varchar(100),GETDATE(),0):0516200610:57AM
SELECTCONVERT(varchar(100),GETDATE(),1):05/16/06
SELECTCONVERT(varchar(100),GETDATE(),2):06.05.16
SELECTCONVERT(varchar(100),GETDATE(),3):16/05/06
SELECTCONVERT(varchar(100),GETDATE(),4):16.05.06
SELECTCONVERT(varchar(100),GETDATE(),5):16-05-06
SELECTCONVERT(varchar(100),GETDATE(),6):160506
SELECTCONVERT(varchar(100),GETDATE(),7):0516,06
SELECTCONVERT(varchar(100),GETDATE(),8):10:57:46
SELECTCONVERT(varchar(100),GETDATE(),9):0516200610:57:46:827AM
SELECTCONVERT(varchar(100),GETDATE(),10):05-16-06
SELECTCONVERT(varchar(100),GETDATE(),11):06/05/16
SELECTCONVERT(varchar(100),GETDATE(),12):060516
SELECTCONVERT(varchar(100),GETDATE(),13):1605200610:57:46:937
SELECTCONVERT(varchar(100),GETDATE(),14):10:57:46:967
SELECTCONVERT(varchar(100),GETDATE(),20):2006-05-1610:57:47
SELECTCONVERT(varchar(100),GETDATE(),21):2006-05-1610:57:47.157
SELECTCONVERT(varchar(100),GETDATE(),22):05/16/0610:57:47AM
SELECTCONVERT(varchar(100),GETDATE(),23):2006-05-16
SELECTCONVERT(varchar(100),GETDATE(),24):10:57:47
SELECTCONVERT(varchar(100),GETDATE(),25):2006-05-1610:57:47.250
SELECTCONVERT(varchar(100),GETDATE(),100):0516200610:57AM
SELECTCONVERT(varchar(100),GETDATE(),101):05/16/2006
SELECTCONVERT(varchar(100),GETDATE(),102):2006.05.16
SELECTCONVERT(varchar(100),GETDATE(),103):16/05/2006
SELECTCONVERT(varchar(100),GETDATE(),104):16.05.2006
SELECTCONVERT(varchar(100),GETDATE(),105):16-05-2006
SELECTCONVERT(varchar(100),GETDATE(),106):16052006
SELECTCONVERT(varchar(100),GETDATE(),107):0516,2006
SELECTCONVERT(varchar(100),GETDATE(),108):10:57:49
SELECTCONVERT(varchar(100),GETDATE(),109):0516200610:57:49:437AM
SELECTCONVERT(varchar(100),GETDATE(),110):05-16-2006
SELECTCONVERT(varchar(100),GETDATE(),111):2006/05/16
SELECTCONVERT(varchar(100),GETDATE(),112):20060516
SELECTCONVERT(varchar(100),GETDATE(),113):1605200610:57:49:513
SELECTCONVERT(varchar(100),GETDATE(),114):10:57:49:547
SELECTCONVERT(varchar(100),GETDATE(),120):2006-05-1610:57:49
SELECTCONVERT(varchar(100),GETDATE(),121):2006-05-1610:57:49.700
SELECTCONVERT(varchar(100),GETDATE(),126):2006-05-16T10:57:49.827
SELECTCONVERT(varchar(100),GETDATE(),130):18??????????1427
10:57:49:907AM
SELECTCONVERT(varchar(100),GETDATE(),131):18/04/142710:57:49:920AM