我需要轉換2014-11-18T14:08:43 + 00:00這是在我的SQL開發日期格式的varchar中,以便過濾一些條目。在sql中轉換字符串
我試圖
to_date(LAST_UPDATE_DATE,'YYYY-MM-DD')
,但它提供了一個錯誤
ORA-01830:轉換整個輸入串 前日期格式畫面結束。
請幫助..
我需要轉換2014-11-18T14:08:43 + 00:00這是在我的SQL開發日期格式的varchar中,以便過濾一些條目。在sql中轉換字符串
我試圖
to_date(LAST_UPDATE_DATE,'YYYY-MM-DD')
,但它提供了一個錯誤
ORA-01830:轉換整個輸入串 前日期格式畫面結束。
請幫助..
以防萬一你不是故意放的SQL Server,而是你需要使用Oracle(看到,因爲你正在使用TO_DATE和您購買的ORA除外) 我添加了日期和時間戳(沒有毫秒)的快速轉換日期時間爲您日期格式:
SELECT to_Date(concat
(substr
(myvar,0,10),
concat(' ',
substr(myvar,12,8)
)
),'YYYY-MM-DD HH24:mi:ss') AS mydate
FROM mytable
declare @varDate as nvarchar(50) = '2014-11-18T14:08:43+00:00'
select CAST(substring(@varDate,0,CHARINDEX('T',@varDate)) as date)
sql服務器語法如何爲Oracle數據庫工作? –
@LalitKumarB我想知道同樣的事情,或者她是如何得到ora錯誤的,當標籤是sql服務器時,這真是令人困惑 –
它被標記爲'sql'' sql-server',它後來編輯了 –
要麼你可以使用它像這樣
declare @Date as nvarchar(100) = '2014-11-18T14:08:43+00:00'
SELECT CONVERT(DATE,@Date) AS Date
或去這個答案這是在這個問題
接受
@Isha試試這個解決方案 –
你可以試試這個;
Select CAST ('2014-11-18T14:08:43+00:00' as date)
的假設是你在SQL Server 2012中
ORA-01830:轉換整個輸入字符串之前的日期格式的畫面結束。 TO_DATE(LAST_UPDATE_DATE, 'YYYY-MM-DD')
2014-11-18T14:08:43+00:00
是TIMESTAMP和不DATE。
首先,你應該永遠店日期/ TIMSTAMP爲字符串。這是一個數據庫設計缺陷。您可以將其轉換爲TIMESTAMP WITH TIMEZONE。
例如,
SQL> SELECT to_timestamp_tz('2014-11-18T14:08:43+00:00',
2 'YYYY-MM-DD"T"HH24:MI:SS.FFTZH:TZM')
3 AS tm_stamp
4 FROM dual;
TM_STAMP
----------------------------------------------------------------
18-NOV-14 02.08.43.000000000 PM +00:00
SQL>
@Isha'ORA'錯誤證明你的數據庫是'Oracle'而不是'sql server'。 –
爲什麼你的約會colunm VARCHAR? –
你運行的是哪個版本的sql server?對我來說它說to_date不被識別 –
SQL Server返回ORA錯誤代碼?很奇怪。 – jarlh