如何将时间格式化为仅显示小时和分钟?
例如,像LessonTime TIME(0),
这样的ID显示12:00而不是12:00:00。
USE [Assignment]
GO
PRINT 'Creating database tables...'
CREATE TABLE [PupilDetails](
Pupil_ID INT NOT NULL,
FName VARCHAR(20),
LName VARCHAR(20),
DOB DATE,
LessonDay VARCHAR (10),
LessonTime TIME(0),
GuardianFname VARCHAR(20),
GuardianLname VARCHAR(20),
ContactNum VARCHAR(15),
AddressLine1 VARCHAR(20),
AddressLine2 VARCHAR(20),
Teacher_ID INT NOT NULL,
PRIMARY KEY (Pupil_ID),
CONSTRAINT FK_PupilDetails FOREIGN KEY (Teacher_ID)
REFERENCES Teachers(ID)
答案 0 :(得分:2)
time
或datetime
数据类型的值未在sql server中以格式存储。如果您希望以不同的格式查看时间,则可以在转换为varchar
(或nvarchar
,nchar
,{{1时操纵时间和日期时间数据类型的显示方式使用一些内置函数的数据类型。
通常使用convert()
styles
char
返回:select convert(char(5),convert(time(0),sysdatetime()))
在sql server 2012+中,您可以使用format()
22:01
返回:select format(sysutcdatetime(),'HH:mm')
但22:01
可能会慢一点,请看一下:format()
is nice and all, but… - Aaron Bertand
答案 1 :(得分:0)
SELECT LEFT(CAST(getdate() AS Time),5) AS Hours
答案 2 :(得分:-2)
选择格式(SYSDATETIME(),' h:mm tt')