[英]SQL Custom datetime format to datetime
我有一個varchar
,格式如下: yyyy-dd-MM hh:mm:ss
我需要能夠將其轉換為有效的datetime
,最好的方法是什么?
編輯例如:
DECLARE @d varchar = '2014-17-01 12:00:00'
SELECT CONVERT(DATETIME, @d, 103);
回報
Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.
通過CONVERT
嗎?
SELECT CONVERT(DATETIME, '2014-31-01 17:00:00', 103 /* British */);
(No column name)
2014-01-31 17:00:00.000
編輯以添加SET DATEFORMAT。 這為我解決了錯誤,並確保所有內容都進入正確的存儲區。
SET DATEFORMAT ydm
DECLARE @d VARCHAR(20) = '2014-17-01 12:00:00';
DECLARE @targetDate DATETIME = GETDATE(); -- Control Date
DECLARE @passedDate DATETIME = CAST(@d AS DATETIME);
SELECT @targetDate, @passedDate;
您可以將CONVERT用作:
DECLARE @TodayDate日期時間SET @TodayDate = GETDATE()選擇轉換(VARCHAR,@TodayDate,110)AS TodayDate
輸出:
2014年7月4日
希望能幫助到你 !
嘗試將日期和月份互換,然后將新字符串PARSE
為日期時間。
DECLARE @d varchar(50) = '2014-17-01 12:00:00'
DECLARE @year varchar(10) = SUBSTRING(@d,1,4)
DECLARE @day varchar(10) = SUBSTRING(@d,6,2)
DECLARE @month varchar(10) = SUBSTRING(@d,9,2)
DECLARE @time varchar(10) = SUBSTRING(@d,12,8)
DECLARE @new_d varchar(50) = @year+'-'+@month+'-'+@day+' '+@time
SELECT PARSE(@new_d AS datetime USING 'en-US') as Result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.