我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
我需要将DateTime变量中的值转换为yyyy-mm-dd格式的varchar变量(没有时间部分)。
我怎么做呢?
当前回答
最短最简单的方法是:
DECLARE @now AS DATETIME = GETDATE()
SELECT CONVERT(VARCHAR, @now, 23)
其他回答
这就是我怎么做的:CONVERT(NVARCHAR(10), DATE1, 103))
试试下面的方法:
CONVERT(varchar(10), [MyDateTimecolumn], 20)
对于一个完整的约会时间,而不仅仅是约会,请:
CONVERT(varchar(23), [MyDateTimecolumn], 121)
查看本页转换样式:
http://msdn.microsoft.com/en-us/library/ms187928.aspx 或 SQL Server CONVERT()函数
试试下面的SQL:
select REPLACE(CONVERT(VARCHAR(24),GETDATE(),103),'/','_') + '_'+
REPLACE(CONVERT(VARCHAR(24),GETDATE(),114),':','_')
CONVERT(VARCHAR, GETDATE(), 23)
你可以使用DATEPART(DATEPART, VARIABLE)。例如:
DECLARE @DAY INT
DECLARE @MONTH INT
DECLARE @YEAR INT
DECLARE @DATE DATETIME
@DATE = GETDATE()
SELECT @DAY = DATEPART(DAY,@DATE)
SELECT @MONTH = DATEPART(MONTH,@DATE)
SELECT @YEAR = DATEPART(YEAR,@DATE)