為什么轉換的日期時間格式不是這樣的形式yyyy-MM-dd HH:mm:ss?怎樣改呢
uj5u.com熱心網友回復:
你這個格式是和你服務器作業系統的日期時間格式設定有關的,你用下面的試試CONVERT(VARCHAR,CALL_TIME,120)
uj5u.com熱心網友回復:
試了還是不行
uj5u.com熱心網友回復:
貼出你的表結構。你的 call_time 欄位是什么資料型別?
uj5u.com熱心網友回復:
發不了圖,是varchar(50)型別uj5u.com熱心網友回復:
varchar(50)型別,發不了圖
uj5u.com熱心網友回復:
USE tempdb
GO
IF OBJECT_ID('t') IS NOT NULL
DROP TABLE t
GO
CREATE TABLE t(
d1 VARCHAR(50),
d2 VARCHAR(50),
d3 DATETIME
)
GO
INSERT INTO t(d1,d2,d3) VALUES (GETDATE(),CONVERT(CHAR(19),GETDATE(),120),GETDATE())
SELECT
d1
,CONVERT(CHAR(19),CAST(d1 AS datetime),120) AS d1_轉換
,d2
,d3
FROM t

所以,你保存進去就有問題,少了秒。
如果想保存時不出問題,兩個方法:
1. 資料型別改為 DATETIME
2. convert(char(19), xx, 120)
方法1 為最佳,因為是真實的日期,各種運算都會方便得多。
如果你實在不想改表結構,那就在顯示時處理吧:
類似 d1_轉換 那樣。
uj5u.com熱心網友回復:
是在插入資料時就用convert函式嘛
uj5u.com熱心網友回復:
可是我的資料是文本檔案匯入進去的
uj5u.com熱心網友回復:
你實際看一下文本檔案不就得了?文本檔案帶不帶秒數, 貼出來看看。
uj5u.com熱心網友回復:
不帶的
order_id passenger_id call_time grab_time cancel_time finish_time
70368832780060 70368746028426 2018/3/10 9:09 2018/3/10 9:09 1971/1/1 0:00 2018/3/10 9:37
uj5u.com熱心網友回復:
那就沒問題。你把資料型別定義為 datetime 再匯入試試。
或者輸出時用 convert(char(19), xx, 120) 這種吧。
uj5u.com熱心網友回復:
嗯嗯試了 謝謝你啊
uj5u.com熱心網友回復:
不客氣, 沒事就結貼吧。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/52350.html
標籤:疑難問題
上一篇:RecoveryToolboxForSQLServer資料庫修復問題
下一篇:mysql
