当前位置: 首页 > 面试题库 >

如何获得一个箱子大小的总重量,例如12 x 160g等于1.92kg

白嘉石
2023-03-14
问题内容

不知道这是否可能。

但是,假设我在表中有一个像这样的列:

12 x 60g
12 x 160g
500g
1kg
1kg
12 x 160g
12 x 250g

有些是个人尺寸,有些是表壳尺寸。

是否可以获得每一行的总重量?如果是这样,将如何做?

例如

0.72kg  /* 12 x 0.060 = 0.72 */
1.92kg  /* 12 x 0.160 = 1.92 ... */
0.5kg
1kg
1kg
1.92kg
3kg

问题答案:

通过@Tomalak添加到注释中,下面是一个示例脚本,您可以使用该脚本来填充重量表达转换表。

CREATE TABLE dbo.Weights(
     Weight varchar(20) NOT NULL 
        CONSTRAINT PK_Weights PRIMARY KEY
    ,WeightInGrams int NULL
    ,WeightInKilograms AS CAST(WeightInGrams / 1000.0 AS decimal(10, 2))
);
GO

INSERT INTO dbo.Weights(Weight)
    SELECT DISTINCT Weight
    FROM dbo.Foo;
GO

DECLARE
      @Weight varchar(20)
    , @WeightInGrams int
    , @SqlExpression nvarchar(MAX);
DECLARE foo CURSOR LOCAL FAST_FORWARD FOR
    SELECT weight
    FROM dbo.Weights;
OPEN foo;
WHILE 1 = 1
BEGIN

    FETCH NEXT FROM foo INTO @Weight;

    IF @@FETCH_STATUS = -1 BREAK;

    BEGIN TRY

        SET @SqlExpression = 'SET @WeightInGrams = 
            ' + REPLACE(REPLACE(REPLACE(@Weight, 'x', '*'), 'kg', '000'), 'g', '');

        EXEC sp_executesql @SqlExpression
            , N'@WeightInGrams int OUTPUT'
            , @WeightInGrams = @WeightInGrams OUTPUT;

    END TRY
    BEGIN CATCH

        SET @WeightInGrams = NULL;

    END CATCH;

    UPDATE dbo.Weights
    SET WeightInGrams = @WeightInGrams
    WHERE Weight = @Weight;

END
CLOSE foo;
DEALLOCATE foo;
GO


 类似资料:
  • 问题内容: 我想使用一个SQL,使接收者的接收数量> = 1024,转移数量<= 3。 约翰逊之所以被列出是因为列出了约翰逊帐户,因为它在以下三个转账中收到了1112美元:512美元+ 100美元+ 500美元,泰勒进行了1次转账1024美元。威廉姆斯不在,因为他在四笔交易中收到1200美元。 我尝试 它不能正常工作。我正在使用PostgreSQL,SQLLites语法也很好。 随附表和行的创建,

  • 问题内容: 遵循“只有一种明显的方法”,如何在Numpy中获得向量(一维数组)的大小? 上面的方法有效,但是我 不敢相信 自己必须指定这样一个琐碎的核心功能。 问题答案: 您需要的功能是。(我认为它应该作为数组的属性存在于基本numpy中-说-但很好)。 您还可以根据需要输入可选的n阶范数。假设您想要1范数: 等等。

  • 我有这个问题来自hackerearth 给定一个N个整数的数组,C个卡和S个和。每一张卡片都可以用来将给定数组中的一个整数递增或递减1。查找给定数组中是否有任何子集(在使用任意数量的卡之后/之前)具有和S。 输入格式 输出格式 如果存在具有给定和的子集,则打印TRUE,否则打印false。 所以这基本上是子集和问题的一种变体,但我们不是要找出一个给定的具有和的子集是否存在,而是要找到从序列到中最大

  • 我12哟,我学习Java,我想做如果语句时,它是超过1和小于或等于4,或只是2和4之间,但它不工作。我试过了 <代码>如果(4 它显示了这个错误

  • 例如,如果我有一个Person父类和一个学生扩展Person子类,是否有办法实现equals()或hashCode()函数,其中它们的实例不会彼此相等? 假设Person类有字段name和age。学生类具有字段等级和以下构造函数: 如果一个是Person的实例,另一个是Student的实例,那么我如何创建两个具有匹配字段的实例,但如果其中一个是该实例,那么它将返回false? 是否可以使stude