快速问题......我明白所有属性在Objective-C中以nil开头,并且向nil发送消息不起作用,因此必须使用[[Class alloc] init]初始化; 在向新创建的属性发送消息之前.但是,如果我不向此属性发送消息或者如果我使用self.property = some设置属性呢?在这些情况下我是否还需要分配init?此外,UI属性也是以nil开头的,例如您从故事板中拖出的UILabel属性?这些需要alloc init吗?
感谢所有回答的人
initialization properties objective-c alloc lazy-initialization
我有一个非常简单的代码正在尝试运行,但是由于我不明白的原因,它无法正常工作。这是我的代码:
WITH CTE AS
(
SELECT DISTINCT OrderNo
FROM OrderDet
WHERE PartNo LIKE '%.%'
AND OrderNo NOT LIKE '%[a-z]%'
)
SELECT *
FROM CTE
WHERE CAST(CTE.OrderNo AS INT) >= 21187
Run Code Online (Sandbox Code Playgroud)
运行此代码将引发以下错误:
将varchar值'20361E'转换为数据类型int时,转换失败。
现在我知道有些OrderNo值包含“ E”,但是就我而言,我正在CTE中将其过滤掉。如果我自己在CTE中运行该语句,则会得到580条记录,而这些记录中都没有字母。
这里发生了什么?
假设我有一堆部件号,我想要一个列在第一个句点之后和第二个句点之前返回字符串.我看了其他类似的问题,但无法弄清楚
所以,假设我有部件号列表,例如:
10416.1.1.4
10416.1.1.7
10416.1.1.1
10416.2.3
10416.2.2
10416.3.1.2
10416.3.1.3
10416.4.1.1
10416.10.1
10416.10.2
10416.11.1.1
Run Code Online (Sandbox Code Playgroud)
我应该让我的专栏回归:
1
1
1
2
2
3
3
4
10
10
11
Run Code Online (Sandbox Code Playgroud)
使用SQL Server 2012,提前感谢
编辑:这是我的代码,这会返回一个表,但排序遍布整个地方,PartNo列就是我要分割的内容
SELECT DISTINCT OrderDet.OrderNo, Scheduling.JobNo, OrderDet.PartNo,
OrderDet.Priority
FROM Scheduling LEFT JOIN OrderDet ON Scheduling.JobNo = OrderDet.JobNo
WHERE Scheduling.WorkCntr = 'Glazing'
ORDER BY OrderDet.Priority DESC
Run Code Online (Sandbox Code Playgroud) 因此,我有一个发货列表,并且有订单总额和每个单独发货的总额,但我正在努力想出代码来为累计发货创建一个附加列,其中包括当前发货,加上该订单之前的所有发货。这是我到目前为止所得到的结果:
| 订单号 | 发货日期 | 合计订单 | 出货总量 | 累计出货量 | 秩 |
|---|---|---|---|---|---|
| 22396 | 2022-04-04 | 639,964 | 2,983 | 639,966 | 3 |
| 22396 | 2022-03-31 | 639,964 | 5,626 | 639,966 | 2 |
| 22396 | 2022-02-24 | 639,964 | 631,355 | 639,966 | 1 |
因此,这是同一订单的 3 次单独发货。第 3 行中的第一次发货是正确的,但我需要第 2 行的累计发货列是两者的发货总和,因此 631,555 美元 + 5,626 美元。按照相同的逻辑,第 1 行应该是所有 3 行的总和,此时将等于订单总额 639,964 美元。看起来是这样的:
| 订单号 | 发货日期 | 合计订单 | 出货总量 | 累计出货量 | 秩 |
|---|---|---|---|---|---|
| 22396 | 2022-04-04 | 639,964 | 2,983 | 639,964 | 3 |
| 22396 | 2022-03-31 | 639,964 | 5,626 | 636,981 | 2 |
| 22396 | 2022-02-24 | 639,964 | 631,355 | 631,355 | 1 |
我假设实现此目的的最佳方法是使用 over(partition by ()),但我正在努力想出代码。这是我到目前为止所拥有的:
SELECT
OrderNo,
ShipDate,
OrderTotal,
[Shipment Total],
SUM([Shipment Total]) OVER(PARTITION …Run Code Online (Sandbox Code Playgroud)