作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在 SQL Server 中使用 select into
创建临时表时,是否有方法指定列应可为空?我有一个多步骤过程,通过选择很多列来创建临时表(这就是为什么我不执行create table #tmp (...)
)。创建临时表后,我将更新一些列,其中一些更新可能会使字段无效。
我知道我可以执行alter table alter column
语句来实现我想要的,但我很好奇是否有办法在select
中指定这一点本身。我知道您可以内联cast
您的列以获得所需的数据类型,但我看不到您如何指定可为空性。
最佳答案
可空性是从源列继承的。
您可以通过表达式失去或获得可为空性:
示例(常量文字似乎有问题 - 需要一个可以返回 NULL 的良好 NOOP 函数):
CREATE TABLE SO5465245_IN
(
a INT NOT NULL
,b INT NULL
) ;
GO
SELECT COALESCE(a, NULL) AS a
,ISNULL(b, 0) AS b
,COALESCE(10, NULL) AS c1
,COALESCE(ABS(10), NULL) AS c2
,CASE WHEN COALESCE(10, NULL) IS NOT NULL THEN COALESCE(10, NULL) ELSE NULL END AS c3
INTO SO5465245_OUT
FROM SO5465245_IN ;
GO
SELECT TABLE_NAME
,COLUMN_NAME
,IS_NULLABLE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME LIKE 'SO5465245%'
ORDER BY TABLE_NAME
,ORDINAL_POSITION ;
GO
DROP TABLE SO5465245_IN ;
GO
DROP TABLE SO5465245_OUT ;
GO
关于sql-server - 使用 SQL Server SELECT INTO 创建可为空的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5465245/
我是一名优秀的程序员,十分优秀!