sqlserver中編寫自定義函式中的返回值問題
寫了一個獲取符號間隔字串的函式,原先程式碼如下
CREATE FUNCTION funGetSubStr
(
-- Add the parameters for the function here
@StrParams nvarchar(4000),
@char char(1)=N'1'
)
RETURNS nvarchar(4000)
AS
BEGIN
declare [email protected] varchar(300),
@id varchar(3000),
@m int,
@n int
--set @str='a,b,c,d,e'
--set @m=CHARINDEX(',',@str)
--set @n=1
--WHILE @m>0
--BEGIN
-- set @id=substring(@str,@n,@
-- print @id
-- set @[email protected]+1
-- set @m=CHARINDEX(',',@str,@n)
--END
set @m=charindex(@char,@strparams)
set @n=1
if @m>0
begin
set @id=substring(@strparams,@m,@[email protected])
return @id
end
else
begin
return null
end
END
GO
sqlserver提示,函式最後一句必須是return語句,後改為如下
-- ================================================
-- Template generated from Template Explorer using:
-- Create Scalar Function (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION funGetSubStr
(
-- Add the parameters for the function here
@StrParams nvarchar(4000),
@char char(1)=N'1'
)
RETURNS nvarchar(4000)
AS
BEGIN
declare [email protected] varchar(300),
@id varchar(3000),
@m int,
@n int
--set @str='a,b,c,d,e'
--set @m=CHARINDEX(',',@str)
--set @n=1
--WHILE @m>0
--BEGIN
-- set @id=substring(@str,@n,@[email protected])
-- print @id
-- set @[email protected]+1
-- set @m=CHARINDEX(',',@str,@n)
--END
set @m=charindex(@char,@strparams)
set @n=1
if @m>0
begin
set @id=substring(@strparams,@m,@[email protected])
end
else
begin
set @id=null
end
return @id
END
GO
通過。
相關推薦
sqlserver中編寫自定義函式中的返回值問題
寫了一個獲取符號間隔字串的函式,原先程式碼如下 CREATE FUNCTION funGetSubStr ( -- Add the parameters for the function here @StrParams nvarchar(4000), @char ch
shell中的自定義函式,返回值
shell中的自定義函式 直接看截圖和程式碼吧,一目瞭然! #!/bin/bash #如下語句會報錯,因為在呼叫test1函式之前要先宣告test1函式 #也就是說,函式的呼叫語句要放在函式的宣告的後面(呼叫函式語句的位置要放在函式宣告語句的位置的後面) #test1
C# winform 自定義函式中找不到Form中的控制元件和定義的全域性變數
今天碰到一個比較狗血的問題,想了很多辦法,最後發現,原來如此的坑。 在新建一個form頁面後,我們在程式碼頁面寫程式碼,往往會寫自定義的方法,一般情況下,在自定義的方法中是可以找到form頁面中的控制元件和自定義的全域性變數, 但是如果我們在自定義的方法前面加了static,那麼坑就出來啦,從此這個方法好
shell中的自定義函式
shell中的自定義函式 自定義函式 基本語法 [ function ] funname[()] { Action; [return int;] } 呼叫直接寫函式名:funname [值] 注意: 1 函式體不能為空,函式體為空會報錯,裡面寫一條語句,比如 echo
pyspark中的自定義函式
由於目前的pyspark不支援dataset,因此只能用dataframe+udf或者rdd的方式來對列進行資料處理。這裡介紹一下udf,udf註冊有兩種方法,一種是呼叫register方法,一種是呼叫udf函式。兩者都能在withColumn和apply中使用
Shell指令碼中的自定義函式
在寫程式時,經常會用到函式,一般開發工具擁有豐富的函式庫。但有時還需要根據自己的需要自定義函式滿足我們的需求。 在linux中,寫shell指令碼也一樣,有時會用到自定義函式。 函式,最簡單的定義為:將一組命令集或語句形成一個可用塊,這些塊稱為函式。 1、定義函式的格式:
EXCEL表格中直接使用vb6建立的dll中的自定義函式
使用EXCEL2010+VB6.0 1、在vb6.0中新建一個ActiveX dll工程 名:=阿亮自定義DLL 2、新建一個類(名:=aliangDLL) 3、寫入程式碼 Function 不重複數(rng As Object) As Integer Dim d
hive中使用自定義函式(UDF)實現分析函式row_number的功能
1. hive0.10及之前的版本沒有row_number這個函式,假設我們現在出現如下業務場景,現在我們在hdfs上有個log日誌檔案,為了方便敘述,該檔案只有2個欄位,第一個是使用者的id,第二個是當天登入的timestamp,現在我們需要求每個使用者最早登入的那條記錄(
Mysql中的自定義函式和自定義過程
MYSQL中建立儲存過程和函式分別使用CREATE PROCEDURE和CREATE FUNCTION使用CALL語句來呼叫儲存過程,儲存過程也可以呼叫其他儲存過程函式可以從語句外呼叫,能返回標量值建立儲存過程語法CREATE PROCEDURE sp_name ([ pro
import自定義函式中,python2 和python3的不同
一種情況:假如你有一個指令碼函式a.py和b.py存放在file資料夾中。當你想呼叫a函式時。寫作:import file.a。但如果a.py需要呼叫b.py函式的話,在python2環境下a.py檔案中直接用impo
儲存過程中呼叫自定義函式(不在同一使用者下)提示無許可權或識別符號無效
問題描述: 在A使用者下自定了一個函式 : getName(); 然後在B使用者下建立儲存過程,呼叫了A使用者下的自定義函式getName;在編譯儲存過程時提示函式 getName無效。 解決方法: 將A使用者下自定義函式getNa
DevExpress中GridControl自定義匯總列值(有選擇性的匯總)
checked order sender end void calc custom expr total 今天碰到有同事遇到這個方面的需求,貼一下吧。 private void gvTop_CustomSummaryCalculate(object sender, Cust
為什麼C++中stack的pop()函式不返回值而返回void
C++中stack,其中有兩個方法: pop(), 返回void, top(),返回棧頂的引用。 看起來pop函式非常的浪費,為什麼pop不再是返回值呢。 我收集到兩個原因: 1. 安全原因: 假設有這個stack類 class Stack { pub
hive報錯編寫自定義函式匯入依賴報錯 Missing artifact jdk.tools:jdk.tools:jar:1.6
少了一個jar包 <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.
visual studio 配置屬性中增加自定義巨集和巨集值
visual studio中配置自己的巨集。 下面是vs中的巨集,SolutionDir這個是工程所在目錄資料夾。如何建立自己的巨集呢 檢視->其他視窗->屬性管理器,跳轉到屬性管理器介面。然後選擇一個工程,右鍵出現下圖所示 點選新增新專案屬性表,給屬性表命名一個
Java中如何自定義HTTPServlet中的請求方式?
自定義HTTPServlet中的請求方式: 本Markdown編輯器使用[StackEdit][6]修改而來,用它寫部落格,將會帶來全新的體驗哦: 應用中的所有對Servlet的請求都需要新增method=xxx的請求引數 在應用的Servlet類中, 只
R語言-編寫自定義函式
一、函式構造器 每一個R函式都包括三個部分:函式名,程式主體以及引數集合,在編寫自定義R函式時,需要將三個部分各自儲存在一個R物件中。這裡需要使用function函式,形如: my_function<-function(){} function函式可
sqlserver自定義函式(標量值函式,表值函式)
在sqlserver中,根據函式返回值形式的不同將使用者自定義的函式分為”標量值函式“和”表值函式“兩種型別。如下圖所示,可以在資料庫中的可程式設計->函式中進行檢視。 標量函式,返回單個值,表值函式返回表資料 1.標量值函式 標量值函式返回一個確定型別的標量值,其
sqlserver,一個自定義函式(提取字串中的數值,包含0-9和‘.’)
GO ALTER FUNCTION [dbo].[clear_num](@s VARCHAR(100)) RETURNs VARCHAR(100) as BEGIN WHILE PATINDEX('%[^0-9.]%', @s)>=1 BEGIN set @s=
資料結構與演算法----自定義類中函式與資料成員
近期在梳理知識,做一個小結,希望自己能多多使用 在標頭檔案中: enum sign {plus, minus}; class Accruency { public: Accruency(sign s = plus, unsigned long d = 0, unsigned in