sqlserver日期转换
‘壹’ sqlserver 日期格式转换
--输入201401
--月初时间
selectdateadd(day,datediff(day,0,convert(datetime,'201401'+'01',112)),0)
--月末时间
selectdateadd(ss,-1,dateadd(month,datediff(month,-1,convert(datetime,'201401'+'01',112)),0))
--输入2014
--年初时间
selectdateadd(year,datediff(year,0,convert(datetime,'2014'+'0101',112)),0)
--年末时间
selectdateadd(ss,-1,dateadd(year,datediff(year,0,convert(datetime,'2014'+'0101',112)),0))
‘贰’ sqlserver日期转换问题
有的,用convert,要什么样的格式可以参照如下:
给你个例子,要转成2012/12/12
select convert(nvarchar(10),日期,111)
- 0 或 100 (1,2) 预设值 mon dd yyyy hh:miAM (或 PM)
1 101 U.S. mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yyyy
4 104 德国 dd.mm.yy
5 105 义大利 dd-mm-yy
6 106 (1) - dd mon yy
7 107 (1) - Mon dd, yy
8 108 - hh:mi:ss
- 9 或 109 (1,2) 预设值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM (或 PM)
10 110 USA mm-dd-yy
11 111 JAPAN yy/mm/dd
12 112 ISO yymmddyyyymmdd
- 13 或 113 (1,2) 欧洲预设值 + 毫秒 dd mon yyyy hh:mi:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (2) ODBC 标准 yyyy-mm-dd hh:mi:ss(24h)
- 21 或 121 (2) ODBC 标准 (含毫秒) yyyy-mm-dd hh:mi:ss.mmm(24h)
- 126 (4) ISO8601 yyyy-mm-ddThh:mi:ss.mmm (无空格)
- 127(6, 7) 具有时区 Z 的 ISO8601。 yyyy-mm-ddThh:mi:ss.mmmZ(无空格)
- 130 (1,2) 回历 (5) dd mon yyyy hh:mi:ss:mmmAM
- 131 (2) 回历 (5) dd/mm/yy hh:mi:ss:mmmAM
‘叁’ sqlServer日期函数转换成短日期
主要方法还是通过日期格式的转换来获取。如下:
convert语法:convert(类型type,表达式/字段,style样式) style样式限于DateTime类型.
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??????????142710:57:49:907AM
这种格式可以实现如下:
SelectCONVERT(varchar(100),GETDATE(),111)--2006/05/16
如有问题可以追问,我当及时回答.
希望能帮到你!
参考如下:
http://..com/question/580075812.html?sort=6&old=1#answer-1457108070
‘肆’ sqlserver 如何把日期型转换成指定格式
select convert(char(8),(datepart(year,getdate())*100+datepart(month,getdate()))*100+datepart(day,getdate()))
+ convert(char(6),(datepart(hour,getdate())*100+datepart(mi,getdate()))*100+datepart(ss,getdate()))
把getdate()换成你要转换的时间即可
好象是没有了。其中的加也要转换成字符型后才能加,如果不转换加到分钟时会发生溢出。
select convert(char(8),(datepart(year,'2010.1.4 16:28:56')*100+datepart(month,'2010.1.4 16:28:56'))*100+datepart(day,'2010.1.4 16:28:56'))
+ convert(char(6),(datepart(hour,'2010.1.4 16:28:56')*100+datepart(mi,'2010.1.4 16:28:56'))*100+datepart(ss,'2010.1.4 16:28:56'))
‘伍’ SqlServer 关于convert23时间转换前后不一致问题
CONVERT() 函数是把日期转换为新数据类型的通用函数,也就是说,第二个参数要求是日期类型:
1、你给的第一个例子为符合日期型,所以正确的转换了
2、当你给的第三次例子中第二个参数并不是日期型,只是个字符型,那么转换的时候就按照字符串来转换,所以截取了前11位,也就是你显示的结果;
3、如果要符合CONVERT()函数的标准,你应该这样修改:
SELECTconvert(VARCHAR(11),CAST('2019/1/299:42:02'asdatetime),23)
‘陆’ 求助:sqlserver数据库中的日期格式怎么转换
//方案1:转换SQL语句:convert(varchar(20),GETDATE(),120)
//方案2:
//Date now = new Date();
//now.toLocaleString();
//方案3:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = new Date();
String formatNow = sdf.format(now);
‘柒’ sqlserver怎么把日期转化成字符串
DECLARE @DateTimeValue varchar(32), @DateValue char(8), @TimeValue char(6)
SELECT @DateValue = '20120718',
@TimeValue = '211920'
SELECT @DateTimeValue =
convert(varchar, convert(datetime, @DateValue), 111)
+ ' ' + substring(@TimeValue, 1, 2)
+ ':' + substring(@TimeValue, 3, 2)
+ ':' + substring(@TimeValue, 5, 2)
SELECT
DateInput = @DateValue,
TimeInput = @TimeValue,
DateTimeOutput = @DateTimeValue;
‘捌’ SQLserver怎样将日期类型转换为yyyyMMddHH24miss
用convert函数,
如:convert(varchar(20),字段名,120)这样子,但是我查了一下,没有全部都连接在一起的参数
http://www.w3school.com.cn/sql/func_convert.asp
这个地方可以参考
所以你可以考虑使用replace
如:select REPLACE (REPLACE ( 字段名,"-",""),":","") from tableName 这样实现
‘玖’ 在sql中如何将日期类型转换成文本类型,例如2012-09-12 转变成 20120912
类型转换:convert(要转换成的数据类型,字段名称)
例如convert(varchar(100),col_name)
Convert(int,Order_no)
日期格式转换:
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
‘拾’ sqlserver 比较两个日期大小是怎么把日期类型或者字符串转换成int的
sqlserver中的日期时间的比较,可以直接比较的,也就是说,两个类型一样的时间是可以直接比较的,
你说把时期转为int类型,确切的说不是int类型,而是long类型。
这个转换不是简单的把中间的非数字去掉,而是与1900-01-01
00:00:00这个时间的时间差的毫秒数。