标签: scalar

功能将日期显示为YYYY-MMM

正如标题所述,我正在尝试制作一个小函数来获取数据库中已有的日期值并将其显示为YYYY-MMM(例如:2013年11月).SQL Server.我试过DatePart,但它一次只需要一部分争论(不能做YYYY-MMM).有任何建议将其作为一项功能吗?

Create function fnYearMonth
(@InputDate date)
returns date
Begin
Return DatePart(YYYY-MMM, @inputdate)
End;

Select hiredate, dbo.fnYearMonth(hiredate) as ReviewDate
from employees
Order by ReviewDate 
Run Code Online (Sandbox Code Playgroud)

sql sql-server scalar user-defined-functions date-formatting

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

如何在 SQL Server 中使用 OPENQUERY 设置变量

我正在尝试从表中读取数据。这个表有一个表名列表。

对于数据集的每一行,我想运行几个查询来提取数据并将其插入到临时表中。

这是我所做的

DECLARE @campName varchar(255);
DECLARE @sqlCommand varchar(1000);
DECLARE @sqlCommandMySQL varchar(1000);
DECLARE @LastRun varchar(60);
DECLARE @OPENQUERY varchar(1000);


DECLARE MY_CURSOR CURSOR 
  LOCAL STATIC READ_ONLY FORWARD_ONLY
FOR 
SELECT LTRIM(RTRIM(CallListName)) AS CallListName
FROM [SMSQL1].[RDI_System].[dbo].[Campaigns]
WHERE dialer_campaign = 1 AND i3Server ='I3New' AND ClientID = 111 AND (EndDate IS NULL OR EndDate >= getdate() - 7)

OPEN MY_CURSOR
FETCH NEXT FROM MY_CURSOR INTO @campName
WHILE @@FETCH_STATUS = 0
BEGIN 
    --SET @LinkedServer = 'GUARDIAN';
    SET @OPENQUERY = 'SELECT @LastRun = lr FROM OPENQUERY(GUARDIAN,''';
    SET …
Run Code Online (Sandbox Code Playgroud)

sql sql-server scalar openquery

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

标量或数组函数

我必须执行将作为标量和数组工作的函数。例如:

@t = testfunc(1, 2, 3, 4);
$x = testfunc(1, 2, 3, 4);
Run Code Online (Sandbox Code Playgroud)

有人知道我该怎么做吗?如果是 $x,则必须打印“标量”;如果是 @t,则必须打印“数组”。我尝试做这样的事情:

sub testfunc()
{
   print "test";
}
Run Code Online (Sandbox Code Playgroud)

但即使这样也行不通:/

arrays perl scalar function

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

无法解析:“必须声明标量变量“@Parameter”`'

我需要在存储过程下面的枢轴中输入一个参数。但它指出,“必须声明标量变量“@pWeek”。”

我尝试以各种方式声明它,但我无法弄清楚这一点。这个编码的其他一切都很好,因为我以我想要的方式得到了我想要的数字。我只需要能够将其放入 SSRS 中并能够输入参数。谢谢。

GO
/****** Object:  StoredProcedure [dbo].[QB_ACCOUNT_SUMMARY]    Script Date: 6/19/2015 12:42:12 PM ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[QB_ACCOUNT_SUMMARY]

@pWeek int

as
SET NOCOUNT ON

declare @AccountRef_Fullname AS  NVARCHAR(MAX)



select  @AccountRef_Fullname = COALESCE(@AccountRef_Fullname + ',', '') + '['+ AccountRef_Fullname + ']'

from 
(
select distinct Accountref_fullname 
from (select accountref_fullname from journalcreditlinedetail)JournalCreditLine
union
(select accountref_fullname from journaldebitlinedetail)
union
(select accountref_fullname from txnexpenselinedetail)
union
(select accountref_fullname from depositlinedetail)
union
(select discountaccountref_fullname from [appliedtotxndetail])
) pAccountRef_Full_Name …
Run Code Online (Sandbox Code Playgroud)

sql sql-server parameters scalar pivot

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

不能在Perl中取消引用标量

谁能告诉我为什么这个打印REF(*)而不是0

$a = 0;
$a = \$a;
print $$a . "\n";
Run Code Online (Sandbox Code Playgroud)

perl scalar reference

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

将数组转换为列表

sub get_list {
    return ("one", "two");
}

sub get_array {
    my @a = ("one", "two");

    # need to convert @a to list
    return @a;
}

my $two = get_list(); # desired, assigns last item in list to scalar 
my $count = get_array(); # evaluates array in scalar context, returning a count
Run Code Online (Sandbox Code Playgroud)

在get_array()方法中,我已经创建了一个数组,但我希望将其作为列表返回,以便根据列表规则而不是数组规则进行分配.当然,数组通常以更复杂的方式构建(不是直接从列表中构建).

我已经尝试过使用map,希望它会返回一个值列表,但这会给出相同的结果.与拆分/加入相同.

return map { $_ } @a;
return split /,/, join(",", @a);
Run Code Online (Sandbox Code Playgroud)

如何将数组转换为值列表?

arrays perl scalar list

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

向量 vec3 和浮点数的 GLSL 总和

这可能很奇怪,因为据我了解,向量和标量不能相加。但是我发现了这个示例,并在第 157 行中执行了以下操作:

hsv.x + vec3(0.,2./3.,1./3.)
Run Code Online (Sandbox Code Playgroud)

其中hsv.x恰好是一个float数字,该值来自鼠标 X 坐标,其余的是vec3.

我的问题是该操作的结果是什么?

opengl scalar vector glsl

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

在标量子查询中创建别名 - SQLServer

我在 SAS 中这样做,但是原则应该适用于 sqlserver。我有一个表格,它是帐号完全连接的结果,所以它看起来像这样:

abc_accno  xyz_accno
11111      .
22222      22222
.          66666
33333      33333
44444      44444
.          55555
Run Code Online (Sandbox Code Playgroud)

我的最终目标是有一个看起来像这样的表:

count_abc_accno  count_xyz_accno  matched_pairs
4                5                3
Run Code Online (Sandbox Code Playgroud)

所以我的查询是这样的:

create table matched_pairs as
select
     count(abc_accno) as Count_abc_AccNo
    ,count(xyz_accno) as Count_xyz_AccNo
    ,(select count(abc_accno) as matched_pairs 
        from t1
        where abc_accno = xyz_accno)
from t1
;
Run Code Online (Sandbox Code Playgroud)

我最终得到的是这样的:

count_abc_accno  count_xyz_accno  _randomname
4                5                3
Run Code Online (Sandbox Code Playgroud)

我认为可能有一种更优雅的方法来做到这一点,但我们使用我们拥有的工具(和知识)。我希望匹配对变量表示匹配对,但我无法弄清楚如何从系统生成的名称中删除它。

这样做的最佳方法是什么?有没有比我正在尝试的更优雅的解决方案?(似乎总有……总有一天)

sql sql-server scalar alias subquery

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

Perl:标量和字符串匹配中的赋值(正则表达式)

我理解下面这段代码的一般目标(即总结字符串的数字部分,例如对于 currstr="3S47M" 然后 seqlength=50)。

但是有人可以逐行解释我发生了什么吗?

特别是,我很难理解where每回合持有什么价值。更准确地说,我不明白scalar函数的部分("scalar($RLENGTH = length($&), $RSTART = length($`)+1)") ?

里面的赋值RLENGTHRSTART发生是否正确scalar

为什么在 内使用逗号分隔的赋值scalar?这是什么意思 ?那么它的评估结果是什么?

如果有人可以提供帮助,我将非常感激!

谢谢

埃丽卡

  my $seqlength=0; 
  my $currstr="3S47M";

  my $where = $currstr =~ /[0-9]+[M|D|N|X|=|S|H|N]/
    ? scalar($RLENGTH = length($&), $RSTART = length($`)+1) : 0;
  while ($where > 0) {
    $seqlength += substr($currstr, ($where)-1, $RLENGTH - 1) + 0;
    $currstr = substr($currstr, ($where + $RLENGTH)-1);
    $where = $currstr =~ /[0-9]+[M|D|N|X|=|S|H|N]/
      ? scalar($RLENGTH = length($&), $RSTART …
Run Code Online (Sandbox Code Playgroud)

regex perl scalar

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

检查数据结构并忽略散列或数组

我在一个数组中有一堆哈希。检查我的键和值时,我得到了预期的输出,除了一些特殊情况,因为它们引用了更多的数组/哈希。

想想这样的事情:

@AoH = ( { 'husband' => "homer", 'wife' => "marge" },
         { 'people' => [{'Bob'=> 24, 'Lukas'=> 37}] },
         { 'vegetables' => { 'tomato' => "red", 'carrot' => "orange"} }); 
Run Code Online (Sandbox Code Playgroud)

我的函数遍历数组并显示我的键和值,如下所示:

 sub function(...){    
    print "$key => $value\n";
 }

husband => homer
wife => marge
people => ARRAY(0x6b0d80)
Bob => 24
Lukas => 37
vegetables => HASH(0x2570d38)
tomato => red
carrot => orange
Run Code Online (Sandbox Code Playgroud)

现在我想访问我的键和值,但是当将诸如 ARRAY 或 HASH 之类的东西作为值时,我想忽略该散列而不是打印它。

是否有某种方法只能访问类型标量的值?

到目前为止,我试过这个:

if ($value eq 'ARRAY') {
}
elsif ($value eq …
Run Code Online (Sandbox Code Playgroud)

arrays perl scalar hashmap data-structures

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