在SQL Server中,日期是越來越保存在以下格式: -轉換日期時間在SQL Server
2017-02-20 05:59:58.537
但我需要在以下格式的輸出:
20/Feb/2017 11:29:58 AM
在SQL Server中,日期是越來越保存在以下格式: -轉換日期時間在SQL Server
2017-02-20 05:59:58.537
但我需要在以下格式的輸出:
20/Feb/2017 11:29:58 AM
正確答案:
SELECT REPLACE(CONVERT(VARCHAR(11), getdate(), 113), ' ', '/') + ' ' + CONVERT(VARCHAR(20), CONVERT(TIME, getdate()), 22)
試試這個,
SELECT replace(convert(NVARCHAR, getdate(), 106), ' ', '/')+' '+right(getdate(),7)
感謝您的迴應,但它沒有得到它的輸出有問題。缺失是'秒' – Asad
嘗試這個
select replace(convert(varchar(11),GETDATE(),113), ' ', '/')+ ' '+ RIGHT(CONVERT(varchar(20), GETDATE(), 22), 11);
感謝兄弟,它的工作 – Asad
@Asad:如果答案解決了您的問題,您應該接受它,以便其他人會知道問題已解決。 –
@Asad,更多分類:https://i.stack.imgur.com/QpogP.png –
Try below conversion method :
DECLARE @DATE DATETIME = '2017-02-20 05:59:58.537'
SELECT REPLACE(CONVERT(VARCHAR(11),@DATE,113), ' ', '/') + ' '
+CONVERT(VARCHAR(20),@DATE,108)+' ' +RIGHT(@DATE,2)
SQL根據默認設置(yyyy-mm-dd hh:mm:ss:ms)存儲日期。在獲取該日期時,您需要根據您的要求轉換該日期。
錯了。 [Sql服務器將日期存儲爲數字。](http://stackoverflow.com/questions/30032915/how-to-cast-the-datetime-to-time/30033028#30033028) –
我有我使用日期函數,你可以修改它包括時,分,秒的細節,太多。
CREATE FUNCTION [dbo].[fn_DateDisplay]
(
-- Add the parameters for the function here
@dateIn date
)
RETURNS nvarchar(MAX)
AS
BEGIN
-- Declare the return variable here
DECLARE @dateOut nvarchar(MAX)
DECLARE @yearIn int
DECLARE @monthIn int
DECLARE @dayIn int
DECLARE @monthOut nvarchar(3)
-- Add the T-SQL statements to compute the return value here
SET @yearIn = YEAR (@dateIn)
SET @monthIn = MONTH (@dateIn)
SET @dayIn = DAY (@dateIn)
SET @monthOut = SUBSTRING (DATENAME (MONTH , @dateIn) , 1 , 3)
SET @dateOut = CONCAT (@dayIn , ' ' , @monthOut , ' ' , @yearIn)
-- Return the result of the function
RETURN @dateOut
END
參見:http://www.sql-server-helper.com/tips/date-formats.aspx –
爲什麼你存儲日期爲'VARCHAR'? –
SQL根據默認設置存儲日期。在獲取該日期時,您需要根據您的要求轉換該日期。你可以試試這個http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx –