小编Pரத*_*ீப்的帖子

LOG和EXP函数中的舍入问题

我正在尝试执行累积乘法.我正在尝试两种方法来做到这一点

样本数据:

DECLARE @TEST TABLE
  (
     PAR_COLUMN INT,
     PERIOD     INT,
     VALUE      NUMERIC(22, 6)
  ) 
INSERT INTO @TEST VALUES 
(1,601,10 ),
(1,602,20 ),
(1,603,30 ),
(1,604,40 ),
(1,605,50 ),
(1,606,60 ),
(2,601,100),
(2,602,200),
(2,603,300),
(2,604,400),
(2,605,500),
(2,606,600)
Run Code Online (Sandbox Code Playgroud)

注意:value列中 的数据永远不会是整数,值将包含小数部分.为了显示近似问题,我将示例值保持为整数.


方法1:EXP + LOG + SUM()结束(排序方式)

在这个方法中我使用EXP + LOG + SUM() Over(Order by)技术来找到累积乘法.在这种方法中,数值不准确; 结果中存在一些舍入和近似问题.

SELECT *,
       Exp(Sum(Log(Abs(NULLIF(VALUE, 0))))
             OVER(
               PARTITION BY PAR_COLUMN
               ORDER BY PERIOD)) AS CUM_MUL
FROM   @TEST;
Run Code Online (Sandbox Code Playgroud)

结果:

PAR_COLUMN  PERIOD  VALUE       CUM_MUL
----------  ------  --------- …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 sql-server-2012

9
推荐指数
2
解决办法
885
查看次数

为每个映射生成新行号

我需要在映射表中创建每个单元的新行号.请检查以下样本数据和预期结果.

Lines table
+--------+------------+------+------+
| FileId | linenumber | code | unit |
+--------+------------+------+------+
|      1 |          1 | A    | NULL |
|      1 |          2 | B    | NULL |
|      1 |          3 | C    | NULL |
+--------+------------+------+------+

map table
+------+------+
| code | unit |
+------+------+
| A    | c1   |
| A    | c2   |
| B    | c3   |
| B    | c4   |
| B    | c5   |
+------+------+

expected result
+--------+------------+------+------+ …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server row-number sql-server-2008

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

重命名列而不破坏脚本和存储过程

我想将列名修改为表中的新名称

但这里的问题我想手动修改column name现在TriggersSP's.

有没有更好的方法来做到这一点.

rename一列正在使用此

sp_RENAME 'Tablename.old_Column', 'new_column' , 'COLUMN';
Run Code Online (Sandbox Code Playgroud)

同样,我怎么能做到triggersSP's.?没有打开每个脚本?

sql sql-server triggers rename

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

在T-SQL中运行乘法

GTS表

CCP months   QUART   YEARS  GTS
----  ------  -----    ----- ---
CCP1    1       1   2015    5
CCP1    2       1   2015    6
CCP1    3       1   2015    7
CCP1    4       2   2015    4
CCP1    5       2   2015    2
CCP1    6       2   2015    2
CCP1    7       3   2015    3
CCP1    8       3   2015    2
CCP1    9       3   2015    1
CCP1    10      4   2015    2
CCP1    11      4   2015    3
CCP1    12      4   2015    4
CCP1     1      1   2016    8
CCP1     2      1   2016 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2012 sql-server-2014

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

如何将参数传递给 Azure 函数

我有 Azuretimer function将数据从我的本地数据库复制到 Azure 托管数据库。目前我已经对函数中的表名进行了硬编码。

如果对其进行硬编码,是否可以将参数作为输入传递给函数?

public static void Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, TraceWriter log) {
            string srcConnection = @"on premises connecting string";
            string destConnection = @"Azure managed instance connection string";

            string srcTable = "SourceTableName"; //am trying to make this as parameter
            string destTable = "DestinationTableName"; //am trying to make this as parameter
            string tmpTable = "select top 0 * into #DestTable from " + destTable;

            using(SqlConnection
                        srcConn = new SqlConnection(srcConnection),
                        destConn = new SqlConnection(destConnection) …
Run Code Online (Sandbox Code Playgroud)

c# azure azure-sql-database azure-functions

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

从Azure函数中的local.settings.json中读取自定义设置

我试图从local.settings.json文件中检索自定义设置.示例我正在尝试读取以下local.settings.json文件中的表列表

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "AzureWebJobsDashboard": "UseDevelopmentStorage=true",
    "TableList": "TestTableName1,TestTableName2"
  }
}
Run Code Online (Sandbox Code Playgroud)

使用以下代码阅读它

string tableslist = ConfigurationManager.AppSettings["TableList"];
Run Code Online (Sandbox Code Playgroud)

并且它有效,但我在一些地方读过,这只适用于本地调试,在生产环境中部署之后可能无效.有人能指出我如何以正确的方式做到这一点?或者问题仅适用于连接字符串相关的设置?

c# azure azure-functions

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

检查登录的截断/更改权限

如何检查登录是否具有truncate特定表的权限?

我们有一个登录名Test,我们已经给予ALTER了特定表的许可.现在我想获取Test登录有Alter权限的表列表.

检查谷歌和论坛找不到任何答案.

sql sql-server alter

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

从我的字符串中提取最后两个单词

我尝试从我的字符串中提取最后一个单词

输入字符串: GGG_FFFF_AAAA_BBBBBB_CCC_DDDDD

结果

??????????????????????????
? FIRST_COL ? SECOND_COL ?
??????????????????????????
? CCC       ? DDDDD      ?
??????????????????????????
Run Code Online (Sandbox Code Playgroud)

我有下面的代码工作.

DECLARE @STR VARCHAR(50) = 'GGG_FFFF_AAAA_BBBBBB_CCC_DDDDD'

SELECT 
Reverse(LEFT(Stuff(Reverse(@STR), 1, Charindex('_', Reverse(@STR)) + 1 - 1, ''), Charindex('_', Stuff(Reverse(@STR), 1, Charindex('_', Reverse(@STR)) + 1 - 1, '')) - 1)) as FIRST_COL,
Reverse(LEFT(Reverse(@STR), Charindex('_', Reverse(@STR)) - 1)) as SECOND_COL
Run Code Online (Sandbox Code Playgroud)

有没有更简单的实现这一点

sql t-sql sql-server

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

表值构造函数选择中的最大行数限制

我有一个Table Valued Constructor通过它选择周围的1 million记录.它将用于update另一个表.

SELECT *
FROM   (VALUES (100,200,300),
               (100,200,300),
               (100,200,300),
               (100,200,300),
               .....
               ..... --1 million records
               (100,200,300)) tc (proj_d, period_sid, val) 
Run Code Online (Sandbox Code Playgroud)

这是我的原始查询:https://www.dropbox.com/s/ezomt80hsh36gws/TVC.txt?dl = 0#

当我执行上述操作时,select它只是显示查询已完成但出现错误并显示任何错误消息.

在此输入图像描述

更新:尝试使用TRY/CATCH块捕获错误消息或错误号但不使用与先前映像相同的错误

BEGIN try
    SELECT *
    FROM   (VALUES (100,200,300),
                    (100,200,300),
                    (100,200,300),
                    (100,200,300),
                    .....
                    ..... --1 million records
                    (100,200,300)) tc (proj_d, period_sid, val) 
END try

BEGIN catch
    SELECT Error_number(),
           Error_message()
END catch 
Run Code Online (Sandbox Code Playgroud)

为什么它没有执行是否有表Valed构造函数的限制Select.我知道Insert它是1000,但我选择在这里.

sql sql-server sql-server-2012 bulkupdate

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

通过 Azure Devops 部署 Nuget 包时未添加依赖项

我已经创建了 .net 标准库。创建后,我尝试通过选择项目文件中的包选项从我的 Visual Studio 创建 nuget 包。然后尝试在另一个控制台应用程序中使用本地创建的 .nupkg 文件,效果很好。它按预期显示依赖项

在此处输入图片说明

然后我通过创建管道通过 Azure DevOps 部署了相同的库。现在在同一个控制台应用程序中,如果我从 Azure devops 源中选择 nuget,它不会显示任何依赖项。安装后控制台应用程序将无法工作,它要求在控制台应用程序中再次安装依赖项。

在此处输入图片说明

这是我的项目文件。

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
    <Company>MyCompany</Company>
    <Authors>Me</Authors>
    <Version>1.0.0</Version>
    <Description>Library for managing Azure KeyVault</Description>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.KeyVault" Version="3.0.5" />
    <PackageReference Include="Microsoft.IdentityModel.Clients.ActiveDirectory" Version="5.2.7" />
  </ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

我尝试按照此处的建议在项目文件中添加以下内容,但没有帮助。

<PackageReference Include="NuGet.Build.Tasks.Pack" Version="5.4.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
Run Code Online (Sandbox Code Playgroud)

注意:.nuspec我的项目中没有文件

我在这里错过了什么。

c# azure nuget nuget-package azure-devops

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