问题标签 [user-defined-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1871 浏览

sql - SQL Server 中的自定义排序

我有一个表,其中使用“ORDER”列对结果进行排序,例如:

我的问题是尽可能高效且可重用地最初设置此订单列。

我最初的想法是设置一个标量函数,当向表中添加新条目时,该函数可以用作默认值:

当用户想要置换 2 个文档时,我可以轻松地切换 2 个命令。

它工作得很好,但我现在有第二张桌子我需要以相同的方式设置,我很确定有更好的方法来做到这一点。任何的想法?

0 投票
1 回答
594 浏览

postgresql - 重构 PostgreSQL SProcs

通过适度的 PostgreSQL 安装,我们积累了相当多的存储过程/函数和类型。

现在在最低级别的复合类型中(即用它构建了 3 种类型,并且无数函数引用了这些类型中的任何一种)类型的一个元素是错误的类型(即 smallint 而不是 bigint),因此处理它是相同的,只有范围不同。

  1. 我如何知道取决于类型的所有类型(pg_catalog.pg_type 似乎不够)?
  2. 我如何知道取决于类型的所有函数(作为参数和本地范围的变量)?
  3. 我可以重构一个复合类型(可能将 smallint 更改为 bigint)而不依赖它删除/重建每个函数吗?
  4. 这种重构是否有任何类型的自动化/工具/最佳实践?

我知道它的 4 个问题合而为一,但是 atm 这有点令人沮丧,任何帮助将不胜感激!非常感谢!

0 投票
4 回答
10669 浏览

sql - 从 select 语句中调用函数 - SQL

我有以下声明:

我只是想确认在这种情况下该功能不会被执行?

我问的原因是该函数特别慢,如果条件是真的,我想避免调用该函数......

干杯安东尼

0 投票
5 回答
621 浏览

sql - 帮助解决 SQL Server 2005 中缓慢的 UDF

我有一个日期表调用 [BadDates],它只有一列,其中每条记录都是要排除的日期。我有一个UDF如下:

此 UDF 效果很好,但处理速度很慢。使用它的存储过程在每条记录中运行 UDF。是否有其他方法可以以更快的方法提供相同的功能。

任何帮助是极大的赞赏!

0 投票
2 回答
408 浏览

excel - 可以将 Excel 工作表用作 UDF 吗?

我正在用excel建立一个网络业务模型。类似的模型是 Gawker Media 的模型。

在我的模型中,我有一个数字属性,这些属性有一些重叠的受众。每个属性都吸引用户,这反过来又提供了交叉促销机会。就 Gawker 而言,他们有一系列博客,其受众可能会在他们的网络中阅读他们的几个博客。

如果 gawker 推出了一个新博客,他们就能够引导来自其博客网络的流量。

为单个博客创建模型相当简单——尽管最初的假设更难。下一步是对网络效应进行建模。

Excel 提供了一个场景管理器,允许我改变基本模型中的关键假设。这几乎是完美的,我可以对 10 个属性的发布进行建模,每个属性都有不同的发布假设并查看摘要。

我需要帮助的地方是弄清楚如何改变每个属性的初始用户数量。换句话说,一旦网络建立起来,就有可能将人们带到网络上推出的任何新物业。

我不相信场景经理会做我需要的事情。

所以,我想知道是否可以将模型工作表用作 UDF?考虑到一些输入假设,UDF 将需要吐出月收入和唯一用户数。

然后,我可以为 10 个属性创建自己的摘要表,并使用每个属性的总唯一性来获取网络的摘要。该网络摘要将用于确定可以驱使多少人推出新物业。

实际上,与场景管理器的唯一区别是我需要以编程方式生成我的一个输入变量(初始用户),作为启动时网络中人数的函数。

我希望它有可能在 excel 中实现这些方面的目标。我可以下拉并用 Java 创建整个模型,但是与业务同事共享要困难得多!

谢谢 - 马特。

0 投票
4 回答
384 浏览

sql - 如何匹配两个包含友好电子邮件地址的电子邮件字段

一张桌子有“ John Doe <jdoe@aol.com>”,而另一张桌子有“ jdoe@aol.com”。是否有 UDF 或替代方法可以将第一个字段中的电子邮件地址与第二个字段匹配?

这不会是生产代码,我只需要它来运行临时分析。很遗憾,数据库不存储友好和非友好的电子邮件地址。

更新: 修正了格式,应该是<>第一个。

0 投票
3 回答
978 浏览

sql - SQL 字符串操作

我有一个存储用户信息的表。该表中有一个用户 ID(身份)列。表数据由一个视图查询,该视图被许多存储过程引用,但我们引用了一个名为 auid 的东西,它由下面的 UDF 创建。UDF 在视图中被调用,sprocs 然后根据 auid 从视图中加入或查询。看起来这个例程被调用了很多次(数千次)并且在我们的 SQL Server 上造成了一些不必要的负载。有没有更好的方法来获取 user_id = 255 并将其转换为 varchar = 000000255 (9 个字符长)?

UDF 语法:

视图的基本语法是:

存储过程中的示例调用如下所示:

提前致谢!

0 投票
1 回答
969 浏览

subsonic - 从 SubSonic 调用标量函数

我有一个 SQL Server 函数,它返回一个标量 BIT 值并采用一个参数。下面给你一个思路:

对 SubSonic 来说非常新(几天!) - 我如何使用 SubSonic 来称呼它?

(我正在使用一个带有星号的基本“subsonic.abp”文件的网站)。

0 投票
2 回答
8058 浏览

sql - 如何在 SQL SERVER 2005 中使用递归表值函数

我正在 SQL Server 2005 中创建拆分函数。

我已经通过使用 while 循环来完成它。

但我对此并不满意。我想使用递归函数来做到这一点。

我已经在 C# 中完成了它。现在我在 SQL SERVER 2005 中绘制相同的图。但是我得到一个编译错误。

这是我的代码

错误是:消息 102,级别 15,状态 1,过程 fnSplit2,第 38 行“fnSplit2”附近的语法不正确。

我不能在 SQL SERVER 中使用递归表值函数吗?

我在谷歌搜索,发现标量值递归函数是可能的?

请提供代码,同时告诉我我正在犯的错误。

感谢任何帮助!

0 投票
2 回答
2044 浏览

sql-server - t-sql udf,获取某个参数的数据类型

是否可以为我的 udf 获取数字参数并根据其类型执行操作,例如:

如果@p1 的类型是十进制(10,3) ... else 如果@p1 的类型是十进制(15,3) ... else 如果@p1 的类型是整数...