如何在sql函数中将两个数字合并到varchar中?
函数输出是varchar(40),两个数字是函数的参数。
我发现了这个: siteowner:= concat(eov_y,eov_x); 但是效果不好。
siteowner是输出。我正在使用Oracle 10g。
for examlpe eov_y = 234543 and eov_x = 675654,输出将是siteowner = 234543/675654.
答案 0 :(得分:0)
可能有更有效的方法来做到这一点,但这应该有效
LEFT(CAST(@eov_y AS varchar) + CAST(@eov_x AS varchar), 40)
为清楚起见,这里有一个如何使用
的例子CREATE FUNCTION mergeNumbers
(
@eov_y INT,
@eov_x INT
)
RETURNS varchar(40)
AS
BEGIN
RETURN LEFT(CAST(@eov_y AS varchar) + CAST(@eov_x AS varchar), 40);
END
可以使用
调用SELECT dbo.mergeNumbers(11244,456);
这假设是SQL Server
根据评论,我没有Oracle数据库来尝试这个,但它应该是正确的
CREATE OR REPLACE FUNCTION mergeNumbers (eov_y NUMBER, eov_x NUMBER) RETURN VARCHAR IS
siteowner VARCHAR(40);
BEGIN
siteowner := SUBSTR(CAST(@eov_y AS VARCHAR) + CAST(@eov_x AS VARCHAR), 40);
RETURN siteowner;
END;