每个人,
我无法弄清楚以下用户定义函数中缺少什么:
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) 伙计们。
我目前正在探索 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)