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這個時間的時間差的毫秒數。