sql 查询语句能否调用自定义函数

 我来答
匿名用户
2014-01-23
展开全部

你说的 自定义函数,   指的是 自己在数据库里面编写的 函数么?


如果是的话, 那完全可以的啊。


下面是 SQL Server 数据库的例子


1>
2>
3> CREATE FUNCTION HelloWorld4()
4> RETURNS VARCHAR(20)
5> AS
6> BEGIN
7>   RETURN 'Hello World!';
8> END
9> go

1> SELECT dbo.HelloWorld4()
2> go

--------------------
Hello World!

(1 行受影响)





CREATE FUNCTION GetChinese(@inputVal VARCHAR(20))
RETURNS VARCHAR(20)
AS
BEGIN
  DECLARE
    @index AS int,
    @result AS VARCHAR(20);
  -- 处理的索引
  SET @index = LEN(@inputVal);
  -- 预期返回值.
  SET @result = '';
  -- 循环遍历每一个字符.
  WHILE @index > 0
  BEGIN
    IF(DATALENGTH(SUBSTRING(@inputVal, @index, 1)) = 2)
BEGIN
  -- 当前字符占2字节, 加入结果列表.
  SET @result = SUBSTRING(@inputVal, @index, 1) + @result;
END;
--  递减处理索引.
SET @index = @index - 1;
  END;
  -- 返回.
  RETURN @result;
END;
go

1> SELECT
2>   dbo.GetChinese('123abc汉字') A,
3>   dbo.GetChinese('123汉字abc') B,
4>   dbo.GetChinese('汉字123abc') C
5> go
A                    B                    C
-------------------- -------------------- --------------------
汉字                   汉字                   汉字

(1 行受影响)
twvampire
2014-01-22 · TA获得超过3619个赞
知道大有可为答主
回答量:3029
采纳率:76%
帮助的人:2816万
展开全部

可以的


例如


select test_uf('参数')
from 表

这样肯定是可以的

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thog2580
推荐于2018-03-11 · TA获得超过129个赞
知道小有建树答主
回答量:393
采纳率:33%
帮助的人:109万
展开全部
很多ETL工具都支持带动态参数的sql语句
这些参数可以实时更新,比如时间
如:sqlserver自带的DTL,IBM的Datastage等等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式