相关疑难解决方法(0)

在SQL中,如何在现有表中添加新列后添加值?

我创建了一个表并插入了3行.然后我添加了一个新列alter.如何在不使用任何空值的情况下向列添加值?

sql database

7
推荐指数
1
解决办法
7万
查看次数

无法将计算列设置为Null

我在设置计算列时遇到问题not null.

我想要实现的是C001,C002...等等,同时将其设置为not null.

我在论坛上看到,这可以通过使用NULL值的默认值0来实现.
例如,ISNULL(Price + Taxes, 0)

我试图申请这个公式:

('C'+right('000'+CONVERT([varchar](3),[ID],(0)),(3)))
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.谁能告诉我我错过了什么?

ALTER CreditCard accountNo AS ISNULL('C'+right('000'+CONVERT([varchar](3),[idCreditCard],(0)),(3)),0)
Run Code Online (Sandbox Code Playgroud)

sql database sql-server rdbms

6
推荐指数
1
解决办法
2842
查看次数

如何在向表中添加具有默认值的新列时为现有行设置默认值

我有一个包含 100 行的表,并且我正在添加具有默认值的新列,如下所示。

ALTER  TABLE AccountDetails
ADD    
   UpdatedOn      DATETIME    DEFAULT GETDATE(),
   UpdatedBy      VARCHAR(50) DEFAULT 'System'
Run Code Online (Sandbox Code Playgroud)

执行此 alter 语句后,新列将添加到表中......这是完美的!但是,这些列的现有行的值将为 NULL。

无论如何,默认情况下它是否会有默认值,而不是为这些列执行单独的更新语句来显式更新默认值?

sql-server default alter

4
推荐指数
1
解决办法
6890
查看次数

添加非空列从其他列获取值

我有一个现有的表,Items其中包含Id | CreateDate(作为日期时间)列;要添加,请从列中获取默认年份。Year int not nullCreateDate

Year值将来会更新为不同的值,但只需在添加“年份”列时将其设置为默认值,因为要向“年份”添加不可为空的列。

那可能吗?

sql t-sql sql-server create-table sql-update

3
推荐指数
1
解决办法
1165
查看次数

SQL Server 查询添加具有默认值的列

我正在尝试通过向表中添加另一列并将 0 作为默认值来更改我的 SQL Server 数据库。

我认为这个脚本过去有效(对于另一个表),但现在当我尝试执行该脚本时出现错误

剧本

ALTER TABLE Whatever
ADD WhateverColumn tinyint NOT NULL 
DEFAULT(0)
Run Code Online (Sandbox Code Playgroud)

错误

  • 将鼠标悬停在“NOT”上时:“NOT”附近的语法不正确。期待“TO”
  • 将鼠标悬停在“0”上时:0 附近的语法不正确。需要“(”或 SELECT

有人知道这是怎么回事吗?

sql sql-server alter-table default-value

2
推荐指数
1
解决办法
2万
查看次数

如何使用默认值在 MSSQL 中添加一列?

在 MSSQL 2014 中,我想使用一种更新语法,即添加一个具有默认值的新列。这有可能吗?

sql sql-server

1
推荐指数
1
解决办法
1529
查看次数

0
推荐指数
2
解决办法
3万
查看次数

如何复制SQL表中的列?

我正在使用,SQL Server 2014并且有一个table命名Table1。假设我想将命名SubCategory为“ column”的列复制到名为“ column” SubCategory2(具有与column 相同的值SubCategory)的新列中,该SQL syntax怎么做?

注意:此处的想法是保留列,Subcategory但创建另一个列,SubCategory2并在该新列中修改一些特定值。

示例(假设表1只有两列):

Serial  Subcategory
  1        UK
  2        UK
  3        FR
  4        DE
Run Code Online (Sandbox Code Playgroud)

预期产量:

Serial  Subcategory  Subcategory2
  1        UK           UK
  2        UK           UK
  3        FR           FR
  4        DE           DE
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

0
推荐指数
1
解决办法
150
查看次数

有条件地将具有默认值的列添加到SQL Server中的现有表

我想根据某些情况/条件在现有SQL表中添加具有默认值的新列。

我想知道是否有可能。如果是,怎么办?如果不是,为什么?

替代方案:

一种选择是创建列,然后更新,但是这里的方法是不可能的。

让我们考虑一下下表

?????????????????????
? ID ?      Age     ? 
?????????????????????
?  1 ?    0.166667  ?   
?  2 ?     0.125    ?   
?  3 ?       13     ?   
?  4 ?       19     ?  
?  5 ?       45     ?  
?  6 ?       59     ?   
?  7 ?       60     ?  
?  8 ?       64     ? 
?????????????????????
Run Code Online (Sandbox Code Playgroud)

所需的输出是这样的:

?????????????????????????????????
? ID ?      Age     ? AgeGroup  ?
?????????????????????????????????
?  1 ?    0.166667  ?   NewBorn ?
?  2 ?     0.125    ?   NewBorn ?
?  3 ? …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

-1
推荐指数
1
解决办法
125
查看次数