sql-function相关内容
表值函数和视图有什么区别?有什么你可以用 1 做而另一个很难或不可能做的事情吗?还是效率的区别? 解决方案 无参数内联 TVF 和非物化视图非常相似.下面是一些让人想到的功能差异. 观看次数 接受参数 - 否由优化器扩展 - 是可以提前实现 - 是(通过索引视图)是否可更新 - 是可以包含多个语句 - 否可以有触发器 - 是的可以使用副作用运算符 - 是 内联 TVF 接受参数
..
如快照所示,我在 SQL Server 2012 中有一个表: 然后我使用 Last_Value() 和 First Value 来获取不同 YearMonth 的每个 EmpID 的 AverageAmount.脚本如下: SELECT A.EmpID,First_Value(A.AverageAmount) OVER (PARTITION BY A.EmpID Order by A.D
..
为什么标量值函数似乎会导致查询在连续使用次数越多时累积运行越慢? 我的这张表是用从 3rd 方购买的数据构建的. 我删减了一些内容以使这篇文章更短......但只是为了让您了解事情是如何设置的. 创建表 [dbo].[GIS_Location]([ID] [int] IDENTITY(1,1) 非空,--PK[Lat] [int] 非空,[Lon] [int] 非空,[Postal_
..
这是基于一个类似的问题 How to Replace Multiple Characters in访问 SQL? 我写这个是因为 sql server 2005 似乎将 replace() 函数限制为 where 子句中的 19 个替换. 我有以下任务:需要对列执行匹配,并使用 replace() 函数提高匹配去除多个不需要的字符的机会 DECLARE @es NVarChar(1)
..
我有一个包含此代码的 sql 函数: DECLARE @CodeNameString varchar(100)SELECT CodeName FROM AccountCodes ORDER BY Sort 我需要将选择查询的所有结果连接到 CodeNameString 中. 显然,C# 代码中的 FOREACH 循环可以做到这一点,但我如何在 SQL 中做到这一点? 解决方案 如
..
我学习函数和存储过程已经有一段时间了,但我不知道为什么以及何时应该使用函数或存储过程.它们对我来说看起来一样,也许是因为我在这方面有点新手. 谁能告诉我为什么? 解决方案 函数是计算值,不能对 SQL Server 执行永久性环境更改(即,没有 INSERT 或允许 UPDATE 语句). 如果函数返回标量值,则可以在 SQL 语句中内联使用,如果返回结果集,则可以连接.
..
我目前正在开发一个程序,我想编写一个接受以下格式值的函数 "AAAA BBBB" CCCC DDDD EEEE "FFFF GGGG HHHH" 我想用“_"替换上面的空格并需要输出如下格式(请注意,这应该只发生在双引号内的字符串) "AAAA_BBBB" CCCC DDDD EEEE "FFFF_GGGG_HHHH" 谁能帮我解决这个问题 解决方案 这是您可以根据需要添加到函数的
..
Apache Derby 有办法用另一个字符串替换一个字符串吗? 我正在寻找类似的东西: 选择替换('布鲁斯博格特罗特','布鲁斯','约翰')来自 SYSIBM.SYSDUMMY1 解决方案 Apache Derby 没有本机函数,但可以使用 Apache Commons Lang 库创建一个. 从此处 下载 Lang 库 调用 SQLJ.INSTALL_JAR('C:\p
..
我有一个递归标量函数,需要根据它返回的值更新另一个表中的记录,但是函数中不允许使用 UPDATE 语句. 如何从函数内部更新表格? 解决方案 UPDATE 语句不允许在功能 这是规则 - 函数不允许有任何数据更改的副作用. 你必须使用存储过程来UPDATE.
..
我在 PostgreSQL 9.0 中有一些返回表结果的函数.这些背后的想法是返回特定时间的数据,例如. CREATE FUNCTION person_asof(带时区的有效时间时间戳)返回 SETOF 人...CREATE FUNCTION pgroup_asof(带时区的有效时间时间戳)返回 SETOF pgroup... 我几乎可以像查询表一样查询它们,包括连接和所有: SELECT
..
我有简单的oracle函数 创建或替换函数 abs.test_func(test_in in number)退货号码是测试号码;开始测试输出:=测试输入;返回 test_out;结尾; 如果我编译它 - 它编译成功.但是当我从 PLSQL Developer SQL Window 运行时 BEGIN abs.test_func(5);结尾; 我收到以下错误 ORA-06550: lin
..
如何调用oracle函数.我想调用下面的函数,但它的显示错误我是 oracle 的新手,这就是我在这里的原因 函数 CardExpiry(cardNO char) 返回日期; 我正在使用以下查询,但显示错误 SELECT * from SMIT.AUDIO_Service_Package.CardExpiry(:CARDNO) ; 错误[错误:ORA-00933:SQL 命令未正确结束]
..
我正在处理SQL Server 2012查询,但遇到一个问题:我无法将临时表字段符号数据拆分为5列. 该怎么做? 创建表#TEMP(id INT IDENTITY(1,1),SymbolData NVARCHAR(50))插入#TEMP(SymbolData)值('0Hz〜4.5kHz'),('0Hz | 9kHz'),('0V-4.5vl'),('0Hz.4.5kHz')选择*从#TEM
..
我是SQL函数的新手,我试图创建一个显示自定义星期数的日历表,每个星期从星期六开始,到星期五结束.每年的第一周始终包含该年的2月1日.例如,如果特定年份的2月1日星期几是星期二,则该年的第一周是1月29日至2月4日的 我已经为这个问题苦苦挣扎了几天,我唯一能想到的解决方案如下: 首先,我创建了一个日历表,该表的列名为"CustomizedWeekNo",以反映从2月1日开始的一周开始的
..
我具有以下功能"TicksToDateTime" CREATE FUNCTION [dbo].[TicksToDateTime](@t bigint)返回日期时间与模式绑定作为-将给定的日期时间转换为.NET兼容的刻度-请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsyst
..
是否可以使用C#中的 LEAD 或 LAG SQL函数? 我对方法的偏爱是: Linq to SQL 实体框架 动态Linq SQLFunctions类 通过SQLCommand手动进行TSQL 我知道可以通过方法5来完成,但是1到4呢? 解决方案 查看MoreLinq项目(在github上): http://morelinq.github.io 在那里,L
..
我的应用需要在Postgres,Mysql和测试Hsqldb之间可移植.我已经设置了Flyway,以使所有三个自定义功能都可用,现在我想在SQL/HQL查询中使用这些自定义功能. 我当前的设置是使用单独的Dialect,可以在使用application-{profile}.yml的情况下进行切换;可以,但是函数声明需要在不同的方言之间重复,并且感觉不太理想. 查看 15.29. Hib
..
我需要在SQL Server中创建一个返回夏令时开始日期时间和夏令时结束日期时间的函数。 我在上面遇到了一些示例在网络上,但是它们都使用3月1日和11月1日,并且在技术上不正确。 夏令时开始于第二个星期日的凌晨2点 我从下面的代码开始,但是我确定它是错误的。任何帮助表示赞赏! :) DECLARE @DSTSTART DATETIME SELECT @DSTSTA
..
创建或替换 功能test_fun( p_ref_cur OUT SYS_REFCURSOR, p_a_code IN NUMBER DEFAULT 0, p_category IN package.category% TYPE DEFAULT NULL, p_name IN package.name%TYPE DEFAULT NULL, p_display_name IN package
..
我为作者提供了一个全名列,并希望将姓氏提取到另一列中。我使用以下原始SQL来做到这一点: SELECT名称, SUBSTRING_INDEX(`name`,''- 1)来自qr.authors的姓氏 ; 输出: 在“使用SQL函数”下,菜谱说: 除了上述函数外,func()方法还可用于创建任何通用SQL函数,例如year,da
..