我有一个T-SQL中的存储过程,我想从日期和字符串创建一个日期时间。
所以我有以下代码:
DECLARE @DATE AS DATE
DECLARE @TIME AS NVARCHAR(5)
SET @DATE = NOW() /*2017-10-11*/
SET @TIME = '08:00'
现在,我想创建这个日期:'2017-10-11 08:00:00'。
DECLARE @DATE AS DATE
DECLARE @TIME AS NVARCHAR(5)
SET @DATE = GETDATE() /*2017-10-11*/
SET @TIME = '08:00'
SELECT CONVERT(DATETIME, CONVERT(VARCHAR, @DATE) + ' '+ CONVERT(VARCHAR, @TIME))
输出:
2017-10-11 08:00:00.000
DECLARE @DATE AS DATE;
DECLARE @TIME AS NVARCHAR(5);
SET @DATE = GETDATE();
SET @TIME = '08:00';
SELECT CONCAT(@DATE, ' ', @TIME);
或者如果您想将其作为 datetime
数据类型,
SELECT CAST(CONCAT(@DATE, ' ', @TIME) AS DATETIME)
DECLARE @TIME AS NVARCHAR(5)
DECLARE @MINUTES AS INT
DECLARE @DATETIME AS DATETIME = CONVERT(DATE, GETDATE()) /* 2017-10-11 */
SET @TIME = '08:00'
SET @MINUTES = DATEDIFF(MI,
0,
@TIME) /* Get number of minutes from @TIME */
SET @DATETIME = DATEADD(MI,
@MINUTES,
CONVERT(DATETIME, @DATETIME)) /* Add the minutes to @DATETIME */
SELECT @DATETIME