SQL: Convert Integer to DateTime
If presented with a date represented as an integer in the format of 'YYYYMMDD', you can convert the number to a date with the following:
declare @_date as integer
set @_date = 20110910
SELECT CONVERT(DATETIME, CONVERT(CHAR(8), @_date))
SQL: Get Day of Week (Transact-SQL)
To retrieve day of week information using T-SQL you can use the DATENAME and DATEPART functions. The DATENAME function returns a character string of the datepart of a date. The DATEPART function returns an integer of the datepart of a date.
DATENAME(dw,GETDATE()) [Day Name] -- returns the day of week name
,DATEPART(dw,GETDATE()) [Day Number] -- returns the day of week number
,DATENAME(dy,GETDATE()) [Day of Year] -- returns the day of year
,DATEPART(wk,GETDATE()) [Week Number] -- returns the week number of the year
, GETDATE() [Todays Date]
SQL: Rename a database with TSQL
You can rename a SQL database using the SQL Server Management Studio (SSMS), however there may be times that you do not have access SSMS or would like to script the task.
The following TSQL will rename a SQL Database:
ALTER DATABASE <database name> SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE <database name> MODIFY NAME = <new database name>
ALTER DATABASE <new database name> SET MULTI_USER
Replace the and values with your database names. Note that the database must be in SINGLE_USER mode in order to complete this ALTER DATABASE command. In the code above, the set option WITH ROLLBACK IMMEDIATE tells the SQL Server that if it can’t complete the command right away, then the other pending transactions should be rolled back. This is helpful if there are automatic connections being made to the database that are difficult to KILL.
The following script can also be used to rename a database:
declare @olddb sysname
declare @newdb sysname
declare @cmd varchar(max)
set @olddb = 'OldDbName' -- set the existing database name here
set @newdb = 'NewDBName' -- set the new database name here
set @cmd = 'ALTER DATABASE ' + @olddb + ' SET SINGLE_USER' -- you can add options to the command
set @cmd = 'ALTER DATABASE ' + @olddb + ' MODIFY NAME = ' + @newdb
set @cmd = 'ALTER DATABASE ' + @newdb + ' SET multi_user'