How to convert int to date in SQL Server 2008

前端 未结 5 911
情歌与酒
情歌与酒 2020-12-09 18:50

I am using MS SQL Server 2008, and in a table I have column idate as date but in the integer format. But in the query I want that in the date format. Is it possible to conve

相关标签:
5条回答
  • 2020-12-09 19:33

    You can't convert an integer value straight to a date but you can first it to a datetime then to a date type

    select cast(40835 as datetime)

    and then convert to a date (SQL 2008)

    select cast(cast(40835 as datetime) as date)

    cheers

    0 讨论(0)
  • 2020-12-09 19:33

    Reading through this helps solve a similar problem. The data is in decimal datatype - [DOB] [decimal](8, 0) NOT NULL - eg - 19700109. I want to get at the month. The solution is to combine SUBSTRING with CONVERT to VARCHAR.

        SELECT [NUM]
           ,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
        FROM [Dbname].[dbo].[Tablename] 
    
    0 讨论(0)
  • 2020-12-09 19:33

    If your integer is timestamp in milliseconds use:

    SELECT strftime("%Y-%d-%m", col_name, 'unixepoch') AS col_name
    

    It will format milliseconds to yyyy-mm-dd string.

    0 讨论(0)
  • 2020-12-09 19:45

    You most likely want to examine the documentation for T-SQL's CAST and CONVERT functions, located in the documentation here: http://msdn.microsoft.com/en-US/library/ms187928(v=SQL.90).aspx

    You will then use one of those functions in your T-SQL query to convert the [idate] column from the database into the datetime format of your liking in the output.

    0 讨论(0)
  • 2020-12-09 19:46

    You have to first convert it into datetime, then to date.

    Try this, it might be helpful:

    Select Convert(DATETIME, LEFT(20130101, 8))
    

    then convert to date.

    0 讨论(0)
提交回复
热议问题