如何将TimeZone作为默认值 [英] How to get TimeZone as default value

查看:98
本文介绍了如何将TimeZone作为默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用SQL Server2012将列的默认值设置为仅时区(如印度标准时间)。

我写了一个关于这个的代码:



DECLARE @TimeZone VARCHAR(50);

EXEC MASTER.dbo.xp_regread'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TimeZoneInformation','TimeZoneKeyName ',@ TimeZone OUT;

SELECT @TimeZone



但是当ctreate表时如何将其设置为默认值?

解决方案

使用表创建脚本声明字符串,您可以使用@TimeZone值将该表脚本构建为列的默认值。然后使用

执行该动态sql字符串

  EXECUTE  @ SQLStatement 


您好,您不能为中的列设置默认值创建脚本。首先创建表,然后使用更改脚本,您可以根据需要为特定列设置默认值或绑定。请检查此示例:

  DECLARE   @ TimeZone   VARCHAR  50 ); 
EXEC MASTER.dbo.xp_regread ' HKEY_LOCAL_MACHINE '' SYSTEM \ CurrentControlSet \Control\TimeZoneInformation'' TimeZoneKeyName' @ TimeZone OUT;
选择 ' 创建表[dbo]。 [测试](
[Id] [int] IDENTITY(1,1)NOT NULL,
[Column1] [varchar](50)NOT NULL,
[Column2] [varchar]( 50)NOT NULL)
GO
ALTER TABLE [dbo]。[Test] ADD CONSTRAINT [DF_SomeName] DEFAULT(N'''
+ @ TimeZone + ' '')FOR [Column2]
GO'



它将会创建以下脚本:

 创建  [dbo]。[测试](
[Id] [ int ] IDENTITY 1 1 NOT NULL
[Column1] [ varchar ]( 50 NOT NULL
[Column2] [ varchar ]( 50 NOT NULL
GO
ALTER [dbo]。[测试] ADD CONSTRAINT [DF_SomeName] DEFAULT (N ' 印度标准时间' FOR [Column2]
GO



我希望这会对你有所帮助。 :)


How set default value of a column as only timezone(like "Indian Standard Time") using SQL Server2012.
I have write a code about that this is :

DECLARE @TimeZone VARCHAR(50);
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TimeZoneInformation','TimeZoneKeyName',@TimeZone OUT;
SELECT @TimeZone

But how to set it as default value when ctreate a table ??

解决方案

declare string with table create script, you can use @TimeZone value to build that table script as default value for the column. then execute that dynamic sql string using

EXECUTE(@SQLStatement)


Hi, You can not set Default Value for column in Create Script. First Create Table and then using Alter Script you can set default value or bindings for specific column as you require. Please check this example:

DECLARE @TimeZone VARCHAR(50);
EXEC MASTER.dbo.xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\TimeZoneInformation','TimeZoneKeyName',@TimeZone OUT;
Select 'Create Table [dbo].[Test] (
            [Id] [int] IDENTITY(1,1) NOT NULL, 
			[Column1] [varchar] (50) NOT NULL, 
			[Column2] [varchar] (50) NOT NULL)
			GO
ALTER TABLE [dbo].[Test] ADD  CONSTRAINT [DF_SomeName]  DEFAULT (N'''+@TimeZone+''') FOR [Column2]
GO'


It will create following script :

Create Table [dbo].[Test] (
            [Id] [int] IDENTITY(1,1) NOT NULL, 
			[Column1] [varchar] (50) NOT NULL, 
			[Column2] [varchar] (50) NOT NULL)
			GO
ALTER TABLE [dbo].[Test] ADD  CONSTRAINT [DF_SomeName]  DEFAULT (N'India Standard Time') FOR [Column2]
GO


I hope this will help you. :)


这篇关于如何将TimeZone作为默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆