In SSMS, for MS SQL Server 2008 or newer versions, is there a general query option or something like that, something to set ON or OFF before launching the query, in order to view all DATE columns as Shortdate (only date, without time)?
Something like SET ANSI_NULLS { ON | OFF } ?
Because I often use 'select * from table', or different approaches like that, and inside tables are many columns and the DATE columns are in different places, and I don't want every time to check where these columns are and to explicitly use CONVERT or CAST only on them, to display them properly.
Thank you for any suggestion.
Yeah I will solve such situation from interface end only.
Also saying like,
Because I often use 'select * from table', or different approaches
this is itself bad,you can't have your own way or approaches.
Nonetheless in sql we can do something like this,
USE AdventureWorks2012
    GO
    --proc parameter
    DECLARE @tablename VARCHAR(50) = 'Employee'
    DECLARE @table_schema VARCHAR(50) = 'HumanResources'
    --local variable
    DECLARE @Columnname VARCHAR(max) = ''
    DECLARE @Sql VARCHAR(max) = ''
    SELECT @Columnname = @Columnname + CASE 
            WHEN DATA_TYPE = 'date'
                OR DATA_TYPE = 'datetime'
                THEN 'cast(' + QUOTENAME(COLUMN_NAME) + ' as date)'
            ELSE QUOTENAME(COLUMN_NAME)
            END + ',' + CASE 
            WHEN DATA_TYPE = 'date'
                OR DATA_TYPE = 'datetime'
                THEN 'cast(' + QUOTENAME(COLUMN_NAME) + ' as date)'
            ELSE QUOTENAME(COLUMN_NAME)
            END + ','
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = @tablename
        AND TABLE_SCHEMA = @table_schema
    ORDER BY ORDINAL_POSITION
    SET @Columnname = STUFF(@Columnname, len(@Columnname), 1, '')
    --set @Columnname=stuff(@Columnname,1,1,'')
    --PRINT @Columnname
    SET @Sql = 'select ' + @Columnname + ' from ' + @table_schema + '.' + @tablename + ''
    --PRINT @Sql
    EXEC (@Sql)
it can be further improve as per requirement.Also please use sp_executeSql
you can customize case condition.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With