小编que*_*ion的帖子

尽管定义了 RETURN VARCHAR(10),但用户定义的函数仅返回第一个字符?

每个人,

我无法弄清楚以下用户定义函数中缺少什么:

CREATE OR ALTER FUNCTION ufn_GetSalaryLevel(@Salary money)
RETURNS VARCHAR(10)
AS
BEGIN 
    IF (@Salary < 30000) RETURN 'Low';
    ELSE IF (@Salary <= 50000) RETURN 'Average';
    ELSE RETURN 'High';
    RETURN '';
END;

SELECT dbo.ufn_GetSalaryLevel(100440)
Run Code Online (Sandbox Code Playgroud)

输出仅包括“低”/“平均”/“高”返回值的第一个字符:

-----------------------------------------------------------------------
H

(1 row affected)
Run Code Online (Sandbox Code Playgroud)

为什么 MS SQL Server Management Studio 不考虑 VARCHAR(10)?

提前致谢!

Ps 请在下面找到我的输出 - 我不明白为什么它不能按预期工作?

在此处输入图片说明

ps2:该函数只有一个参数,我好像没有找到另一个同名的函数……下面可以找到与该函数相关的代码:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:      <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION …
Run Code Online (Sandbox Code Playgroud)

sql-server t-sql functions sql-server-2019

5
推荐指数
1
解决办法
566
查看次数

全外连接对两个小表不起作用,错误 1064

伙计们。

我目前正在探索 MySQL 的功能,同时使用不同的查询做简单的练习。

我正在阅读以下文章,该文章解释了表 JOIN 的工作原理:

http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html

但是,我被困在 FULL OUTER JOIN 示例(由 tableA 和 tableB 组成):

表A:

+-------+--------------+------+-----+---------+----------------+
| Field | Type         | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| name  | varchar(100) | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

mysql> select * from tablea;

+----+-----------+
| id | name      |
+----+-----------+
|  1 | Pirate    |
|  2 | Monkey    | …
Run Code Online (Sandbox Code Playgroud)

mysql join

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

functions ×1

join ×1

mysql ×1

sql-server ×1

sql-server-2019 ×1

t-sql ×1