====== CREATE FUNCTION Statement ======
CREATE FUNCTION statement allows you to create a user-defined SQL function.
**Syntax**:
ALTER | CREATE [OR REPLACE] | REPLACE FUNCTION function_name ( [parameters] )
 RETURNS | RETURN data_type
 [AS | IS] 
 body
parameters:
  [IN] name data_type, ...
  |
  name [IN] data_type, ...
body:
  statement | expression | BEGIN statements END
**Example 1**:
Create a function without parameters:
CREATE FUNCTION hello()
 RETURNS STRING
BEGIN
 RETURN 'Hello, world';
END;
-- Call the function
PRINT hello();
**Example 2**:
Create a function with a parameter:
CREATE FUNCTION hello2(text STRING)
 RETURNS STRING
BEGIN
 RETURN 'Hello, ' || text || '!';
END;
-- Call the function
PRINT hello2('world');
**Compatibility:** Oracle, Teradata, IBM DB2, Microsoft SQL Server, PostgreSQL, MySQL and Netezza
**Version**: HPL/HQL 0.3.1
See also:
  * [[udf-sproc|User-Defined Functions and Stored Procedures]]
  * [[call|CALL]]
  * [[create-package|CREATE PACKAGE]]
  * [[create-procedure|CREATE PROCEDURE]]
  * [[include|INCLUDE]]