日期的格式,在日常的數據分析中,常常使用
特別是在按照日、月、年進行匯總分析,使用起來,往往會有差異
如果格式比較復雜,可以考慮進行文本轉化的處理
這里有比較推薦的函數:
1.CONVERT()函數
適用于SQL Sever,可以將指定的日期,轉化成指定格式的字符串
SELECT CONVERT(varchar, GETDATE(), 120) AS FormattedDate;`
其中varchar是字符串的長度,可以附錄括號長度varchar(20)
120標識日期時間格式,是年月日+時分秒,舉例YYYY-MM-DDHH:MM:SS
GETDATE()這里是默認當前的時間,也可以自己給定對應的時間變量,不一定是獲取當前時間
Cover也可以將文本轉成日期類型,舉例代碼:
SELECT CONVER(DATETIME,'2024-07-01 00:00:00',120) AS FormattedDate;
其中DATETIME是時間類型
'2024-07-01 00:00:00’是要轉化的日期文本字符串
120標識字符串的格式
##2.FORMAT()函數
適用于將日期按照自己的需求,進行格式轉化
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd') AS FormattedDate;
3 Cast函數
Cast函數可以將當前的格式先轉化成指定的格式規范,然后再進行目標格式的轉化
to_char (cast(Datetime as date),'YYMM') as "月份",
這里的舉例是將Datetime時間格式的數據,使用Cast函數加to_char函數,進行兩次的函數轉化
先轉化成日期格式,再基于日期格式,變成指定文本的格式
日期格式也就是我們說的規范化格式
cast格式也可以轉化其他格式,不一定是日期,舉例如下:
Select cast(vachar as numeric) as quantity
這里是將vachar變量存儲的數字字符進行了格式轉化,轉化成numeric數字格式