Sql server 删除时间格式的冒号并附加值

Sql server 删除时间格式的冒号并附加值,sql-server,Sql Server,我正在处理一个场景,其中我需要以以下格式存储时间: 10:23:56-->102356 是否可以将上述格式存储在MS SQL中的时间数据类型列中?这不是时间数据类型 您可以将其保存为time,并在查询表时格式化输出 或者格式化输出并将其另存为字符串 使用RIGHT确保所有数字都是两位数 SELECT CONCAT( RIGHT('00'+ DATEPART(HOUR , GETDATE()), 2), RIGHT('00'+ DATEPART(MINU

我正在处理一个场景,其中我需要以以下格式存储时间:

10:23:56-->102356


是否可以将上述格式存储在MS SQL中的时间数据类型列中?

这不是
时间
数据类型

  • 您可以将其保存为
    time
    ,并在查询表时格式化输出

  • 或者格式化输出并将其另存为字符串

使用
RIGHT
确保所有数字都是两位数

SELECT 
    CONCAT(
       RIGHT('00'+ DATEPART(HOUR  , GETDATE()), 2),
       RIGHT('00'+ DATEPART(MINUTE, GETDATE()), 2),
       RIGHT('00'+ DATEPART(SECOND, GETDATE()), 2)
   )
;
如前所述,
CONCAT
仅适用于
2012+
一种更通用的方法

SELECT 
    RIGHT('00'+ CAST(DATEPART(HOUR  , GETDATE()) AS VARCHAR(2) ), 2) +
    RIGHT('00'+ CAST(DATEPART(MINUTE, GETDATE()) AS VARCHAR(2) ), 2) +
    RIGHT('00'+ CAST(DATEPART(SECOND, GETDATE()) AS VARCHAR(2) ), 2)
;

这不是
时间
数据类型

  • 您可以将其保存为
    time
    ,并在查询表时格式化输出

  • 或者格式化输出并将其另存为字符串

使用
RIGHT
确保所有数字都是两位数

SELECT 
    CONCAT(
       RIGHT('00'+ DATEPART(HOUR  , GETDATE()), 2),
       RIGHT('00'+ DATEPART(MINUTE, GETDATE()), 2),
       RIGHT('00'+ DATEPART(SECOND, GETDATE()), 2)
   )
;
如前所述,
CONCAT
仅适用于
2012+
一种更通用的方法

SELECT 
    RIGHT('00'+ CAST(DATEPART(HOUR  , GETDATE()) AS VARCHAR(2) ), 2) +
    RIGHT('00'+ CAST(DATEPART(MINUTE, GETDATE()) AS VARCHAR(2) ), 2) +
    RIGHT('00'+ CAST(DATEPART(SECOND, GETDATE()) AS VARCHAR(2) ), 2)
;

您不能将此
102356
整数存储在
TIME
datatype中您不能将此
102356
整数存储在
TIME
datatype中
CONCAT
是在
SQL Server 2012
中引入的,值得一提。在此之前,您需要将
+
与适当的Casting@MotoGP我很懒,不想做
演员
。现在包含这两个版本
CONCAT
是在
SQLServer2012
中引入的,值得一提。在此之前,您需要将
+
与适当的Casting@MotoGP我很懒,不想做
演员
。现在包括两个版本