小编New*_*bie的帖子

对多列使用IS NOT NULL

我想检查WHERE子句中单个SQL语句中多列的is not null约束,有没有办法这样做?另外,我不想要NOT NULL在列定义上强制执行类型约束.

SELECT * FROM AB_DS_TRANSACTIONS 
WHERE FK_VIOLATION IS NULL 
AND TRANSACTION_ID NOT IN(
    SELECT distinct TRANSACTION_ID FROM AB_TRANSACTIONS) 
AND COUNTRY_ID IS NOT NULL 
AND GEO_CUST_COUNTRY_ID IS NOT NULL 
AND INVOICE_DATE IS NOT NULL 
AND ABB_GLOBALID IS NOT NULL 
AND SALES_ORG_ID IS NOT NULL 
AND DIST_ID IS NOT NULL 
AND CUSTOMER_ID IS NOT NULL 
AND REPORT_UNIT_ID IS NOT NULL 
AND CURR_INVOICE IS NOT NULL 
AND DIVISION_CODE IS NOT NULL 
Run Code Online (Sandbox Code Playgroud)

因此,我不是一次又一次地使用IS NOT NULL,而是想简化一些事情

sql-server

9
推荐指数
3
解决办法
4万
查看次数

在SQL Server 2012中使用MERGE插入/更新数据

我正在使用SQL Server 2012并且有两个具有相同结构的表.如果表2中尚不存在新记录,我想从表1到表2插入新记录.

如果它们已经存在,我想更新表2中的所有现有记录.

我的表中有大约30列,我想更新所有列.

有人可以帮忙吗?我查看了通过互联网发布的各种链接,但我不明白我的陈述应该是什么样子.

sql merge sql-server-2012

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

更改 SQL Server 2012 中现有列的列默认值

我有一个现有的列 ( ROLE) ,其默认值需要从'zzzz'更新为'S'

我尝试使用以下查询,这显然不起作用:

ALTER TABLE [TRANSACTIONS] ALTER COLUMN [ROLE] ADD DEFAULT('S') ;
Run Code Online (Sandbox Code Playgroud)

有人可以帮助了解是否甚至可以更新列默认值,如果是,那么如何?

谢谢

sql sql-server

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

使用 BETWEEN 函数

我有这个查询,我试图使用它对我的数据进行分类。如果第一个字符在0到9之间,我想用第一个字符来分类。如果是其他任何东西,包括特殊字符或字母,那么我想使用 10。

select CUSTOMER_ID, CASE
                    WHEN LEFT(CUSTOMER_ID, 1) BETWEEN 0 AND 9 THEN LEFT(CUSTOMER_ID, 1)
                    ELSE '10'
                END
                AS CUST_DIGIT
 from CUSTOMER
Run Code Online (Sandbox Code Playgroud)

运行上述查询时出现此错误:

将 nvarchar 值“A”转换为数据类型 int 时转换失败。

这就是我的数据的样子。你能帮我指出我可以改变的地方吗?

在此处输入图片说明

sql sql-server

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

SQL Server 2016:更新记录时分组

我有一个场景,我需要根据产品确定每个客户/业务组合的保证金类型 - 这意味着客户/业务组合的保证金最高的产品应被标识为“高”保证金类型。具有相同组合的所有其他产品应标识为低。所以,我需要一个 SQL 来相应地更新列 MARGIN_TYPE。

我尝试做这样的事情,但不明白如何按客户/业务组合对其进行分组。任何帮助将不胜感激。谢谢!

UPDATE ORDER_TABLE
SET MARGIN_TYPE = 'High'
where MARGIN = (SELECT MARGIN FROM (SELECT MAX(MARGIN) FROM ORDER_TABLE) AS 
MARGIN) 
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

sql t-sql sql-server window-functions sql-update

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