CASE WHEN 语句作为存储过程还是函数?
CASE WHEN statement as a stored procedure or function?
我的查询中有很多我经常在其他查询中使用的 CASE WHEN 语句。
有没有办法存储这些 CASE WHEN 语句,以便我可以在需要时调用它们?或者,这些是不是每次都要写出来?
谢谢!
您可以使用代码片段和模板:
https://ctrlshiftb.wordpress.com/2010/03/01/snippets-for-sql-server-management-studio-ssms/
您当然可以将 CASE-WHEN
封装在一个函数中,然后从您的 SQL 中调用它。但是,如果您经常这样做,您可能需要考虑将这些值放在查找中是否更有意义 table 并通过加入找到值。
下面是 Oracle 的示例函数。
CREATE OR REPLACE FUNCTION case_alternative (value1 NUMBER)
RETURN NUMBER IS
BEGIN
RETURN CASE value1
WHEN 1 THEN 'First Value'
WHEN 2 THEN 'Second Value'
ELSE 'Other Value'
END;
END case_alternative;
我的查询中有很多我经常在其他查询中使用的 CASE WHEN 语句。
有没有办法存储这些 CASE WHEN 语句,以便我可以在需要时调用它们?或者,这些是不是每次都要写出来?
谢谢!
您可以使用代码片段和模板:
https://ctrlshiftb.wordpress.com/2010/03/01/snippets-for-sql-server-management-studio-ssms/
您当然可以将 CASE-WHEN
封装在一个函数中,然后从您的 SQL 中调用它。但是,如果您经常这样做,您可能需要考虑将这些值放在查找中是否更有意义 table 并通过加入找到值。
下面是 Oracle 的示例函数。
CREATE OR REPLACE FUNCTION case_alternative (value1 NUMBER)
RETURN NUMBER IS
BEGIN
RETURN CASE value1
WHEN 1 THEN 'First Value'
WHEN 2 THEN 'Second Value'
ELSE 'Other Value'
END;
END case_alternative;