将日期时间转换为 varchar(50)
convert datetime to varchar(50)
需要帮助将日期时间转换为给定格式的 varchar
2015-01-04 16:07:37.000"
至
01/04/2015 16:07PM
这是尝试过的:
convert(varchar(20),datetime,103)+ ' '+convert(varchar(20),datetime,108)+ ' ' +right(convert(varchar(30),datetime,109),2)
这将适用于 sqlserver
SQLFiddle 关于此演示
SELECT convert(varchar, getdate(), 103)
+' '+ CONVERT(varchar(15),CAST(getdate() AS TIME),100)
这将从当前日期时间获取您的字符串,格式为 06/22/15 1:46:07 PM
。
SELECT CONVERT(VARCHAR(50), GETDATE(), 22)
尝试使用格式
SELECT FORMAT(GETDATE(), 'g')
这将得到 6/22/2015 1:57 PM
.
您始终可以使用 DATEPART 自行构建...
SELECT
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(m, Date_Field)), 2) + '/' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(d, Date_Field)), 2) + '/' +
CONVERT(nvarchar(max), DATEPART(yyyy, Date_Field)) + ' ' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(hour, Date_Field)), 2) + ':' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(minute, Date_Field)), 2) +
RIGHT(CONVERT(VARCHAR(30), Date_Field, 9), 2)
然后您可以在日期和时间之间使用自定义分隔符,根据需要添加秒(或毫秒等)。如果您发现需要大量使用它,请将其包装在 UDF 中。
需要帮助将日期时间转换为给定格式的 varchar
2015-01-04 16:07:37.000"
至
01/04/2015 16:07PM
这是尝试过的:
convert(varchar(20),datetime,103)+ ' '+convert(varchar(20),datetime,108)+ ' ' +right(convert(varchar(30),datetime,109),2)
这将适用于 sqlserver
SQLFiddle 关于此演示
SELECT convert(varchar, getdate(), 103)
+' '+ CONVERT(varchar(15),CAST(getdate() AS TIME),100)
这将从当前日期时间获取您的字符串,格式为 06/22/15 1:46:07 PM
。
SELECT CONVERT(VARCHAR(50), GETDATE(), 22)
尝试使用格式
SELECT FORMAT(GETDATE(), 'g')
这将得到 6/22/2015 1:57 PM
.
您始终可以使用 DATEPART 自行构建...
SELECT
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(m, Date_Field)), 2) + '/' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(d, Date_Field)), 2) + '/' +
CONVERT(nvarchar(max), DATEPART(yyyy, Date_Field)) + ' ' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(hour, Date_Field)), 2) + ':' +
RIGHT('0' + CONVERT(nvarchar(max), DATEPART(minute, Date_Field)), 2) +
RIGHT(CONVERT(VARCHAR(30), Date_Field, 9), 2)
然后您可以在日期和时间之间使用自定义分隔符,根据需要添加秒(或毫秒等)。如果您发现需要大量使用它,请将其包装在 UDF 中。