<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL%2FMySQL%2FProcedure_Function%2FBuildin_Functions</id>
		<title>SQL/MySQL/Procedure Function/Buildin Functions - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=SQL%2FMySQL%2FProcedure_Function%2FBuildin_Functions"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=SQL/MySQL/Procedure_Function/Buildin_Functions&amp;action=history"/>
		<updated>2026-05-24T08:39:00Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=SQL/MySQL/Procedure_Function/Buildin_Functions&amp;diff=5386&amp;oldid=prev</id>
		<title> в 13:46, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=SQL/MySQL/Procedure_Function/Buildin_Functions&amp;diff=5386&amp;oldid=prev"/>
				<updated>2010-05-26T13:46:00Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:46, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=SQL/MySQL/Procedure_Function/Buildin_Functions&amp;diff=5387&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=SQL/MySQL/Procedure_Function/Buildin_Functions&amp;diff=5387&amp;oldid=prev"/>
				<updated>2010-05-26T10:17:09Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Call buildin math function in your procedure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE PROCEDURE myProc()&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;     DECLARE my_big_integer     int DEFAULT 2;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     SET my_big_integer=POWER(my_big_integer,3);&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     select my_big_integer;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; call myProc();&lt;br /&gt;
+----------------+&lt;br /&gt;
| my_big_integer |&lt;br /&gt;
+----------------+&lt;br /&gt;
|              8 |&lt;br /&gt;
+----------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt; drop procedure myProc;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Check MySQL version==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE PROCEDURE myProc()&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;   IF (CAST(SUBSTR(version(),1,3) AS DECIMAL(2,1)) &amp;lt;5.0) THEN&lt;br /&gt;
    -&amp;gt;     SELECT &amp;quot;MySQL versions earlier than 5.0&amp;quot;;&lt;br /&gt;
    -&amp;gt;   ELSE&lt;br /&gt;
    -&amp;gt;     SELECT &amp;quot;Thank you are running 5.0 or higher!&amp;quot;;&lt;br /&gt;
    -&amp;gt;   END IF;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt; call myProc();&lt;br /&gt;
+--------------------------------------+&lt;br /&gt;
| Thank you are running 5.0 or higher! |&lt;br /&gt;
+--------------------------------------+&lt;br /&gt;
| Thank you are running 5.0 or higher! |&lt;br /&gt;
+--------------------------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt; drop procedure myProc;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Return the file size by using the LOAD_FILE function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE PROCEDURE filesize(in_file_name VARCHAR(128))&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;   DECLARE mytext TEXT;&lt;br /&gt;
    -&amp;gt;   SET mytext=LOAD_FILE(in_file_name);&lt;br /&gt;
    -&amp;gt;   SELECT in_file_name||&amp;quot; contains &amp;quot;||length(mytext)||&amp;quot; bytes&amp;quot;&lt;br /&gt;
    -&amp;gt;       AS output;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt; call filesize(&amp;quot;a.txt&amp;quot;);&lt;br /&gt;
+--------+&lt;br /&gt;
| output |&lt;br /&gt;
+--------+&lt;br /&gt;
|   NULL |&lt;br /&gt;
+--------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
Query OK, 0 rows affected, 2 warnings (0.00 sec)&lt;br /&gt;
mysql&amp;gt; drop procedure filesize;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use Build-in SUM function in a procedure==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE TABLE Employee(&lt;br /&gt;
    -&amp;gt;     id            int,&lt;br /&gt;
    -&amp;gt;     first_name    VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     last_name     VARCHAR(15),&lt;br /&gt;
    -&amp;gt;     start_date    DATE,&lt;br /&gt;
    -&amp;gt;     end_date      DATE,&lt;br /&gt;
    -&amp;gt;     salary        FLOAT(8,2),&lt;br /&gt;
    -&amp;gt;     city          VARCHAR(10),&lt;br /&gt;
    -&amp;gt;     description   VARCHAR(15)&lt;br /&gt;
    -&amp;gt; );&lt;br /&gt;
Query OK, 0 rows affected (0.03 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;              values (1,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  &amp;quot;19960725&amp;quot;,  &amp;quot;20060725&amp;quot;, 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(2,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;,  &amp;quot;19760321&amp;quot;, &amp;quot;19860221&amp;quot;, 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(3,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,    &amp;quot;19781212&amp;quot;, &amp;quot;19900315&amp;quot;, 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(4,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,     &amp;quot;19821024&amp;quot;, &amp;quot;19990421&amp;quot;, 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(5,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,    &amp;quot;19840115&amp;quot;, &amp;quot;19980808&amp;quot;, 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(6,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,    &amp;quot;19870730&amp;quot;, &amp;quot;19960104&amp;quot;, 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(7,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,    &amp;quot;19901231&amp;quot;, &amp;quot;19980212&amp;quot;, 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; insert into Employee(id,first_name, last_name, start_date, end_Date,   salary,  City,       Description)&lt;br /&gt;
    -&amp;gt;               values(8,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     &amp;quot;19960917&amp;quot;,  &amp;quot;20020415&amp;quot;, 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;);&lt;br /&gt;
Query OK, 1 row affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; select * from Employee;&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
| id   | first_name | last_name | start_date | end_date   | salary  | city      | description |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
|    1 | Jason      | Martin    | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto   | Programmer  |&lt;br /&gt;
|    2 | Alison     | Mathews   | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester      |&lt;br /&gt;
|    3 | James      | Smith     | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester      |&lt;br /&gt;
|    4 | Celia      | Rice      | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager     |&lt;br /&gt;
|    5 | Robert     | Black     | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester      |&lt;br /&gt;
|    6 | Linda      | Green     | 1987-07-30 | 1996-01-04 | 4322.78 | New York  | Tester      |&lt;br /&gt;
|    7 | David      | Larry     | 1990-12-31 | 1998-02-12 | 7897.78 | New York  | Manager     |&lt;br /&gt;
|    8 | James      | Cat       | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester      |&lt;br /&gt;
+------+------------+-----------+------------+------------+---------+-----------+-------------+&lt;br /&gt;
8 rows in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt; CREATE PROCEDURE myProc(in_id INT)&lt;br /&gt;
    -&amp;gt; READS SQL DATA&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;     DECLARE total_salary NUMERIC(8,2);&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     SELECT SUM(salary)&lt;br /&gt;
    -&amp;gt;       INTO total_salary&lt;br /&gt;
    -&amp;gt;       FROM employee&lt;br /&gt;
    -&amp;gt;      WHERE id=in_id;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;     SELECT CONCAT(&amp;quot;Total salary &amp;quot;,in_id,&amp;quot; is &amp;quot;,total_salary);&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; call myProc(3);&lt;br /&gt;
+---------------------------------------------------+&lt;br /&gt;
| CONCAT(&amp;quot;Total salary &amp;quot;,in_id,&amp;quot; is &amp;quot;,total_salary) |&lt;br /&gt;
+---------------------------------------------------+&lt;br /&gt;
| Total salary 3 is 6544.78                         |&lt;br /&gt;
+---------------------------------------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
Query OK, 0 rows affected, 1 warning (0.00 sec)&lt;br /&gt;
mysql&amp;gt; DROP PROCEDURE myProc;&lt;br /&gt;
Query OK, 0 rows affected (0.02 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; drop table Employee;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using String functions in a user-defined function==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter $$&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE FUNCTION myFunction&lt;br /&gt;
    -&amp;gt;    (in_string      VARCHAR(255),&lt;br /&gt;
    -&amp;gt;     in_find_str    VARCHAR(20),&lt;br /&gt;
    -&amp;gt;     in_repl_str    VARCHAR(20))&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;   RETURNS VARCHAR(255)&lt;br /&gt;
    -&amp;gt; BEGIN&lt;br /&gt;
    -&amp;gt;   DECLARE l_new_string VARCHAR(255);&lt;br /&gt;
    -&amp;gt;   DECLARE l_find_pos   INT;&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;   SET l_find_pos=INSTR(in_string,in_find_str);&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt;   IF (l_find_pos&amp;gt;0) THEN&lt;br /&gt;
    -&amp;gt;     SET l_new_string=INSERT(in_string,l_find_pos,LENGTH(in_find_str),in_repl_str);&lt;br /&gt;
    -&amp;gt;   ELSE&lt;br /&gt;
    -&amp;gt;     SET l_new_string=in_string;&lt;br /&gt;
    -&amp;gt;   END IF;&lt;br /&gt;
    -&amp;gt;   RETURN(l_new_string);&lt;br /&gt;
    -&amp;gt;&lt;br /&gt;
    -&amp;gt; END$$&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt; delimiter ;&lt;br /&gt;
mysql&amp;gt; select myFunction(&amp;quot;ABC&amp;quot;,&amp;quot;A&amp;quot;,&amp;quot;Z&amp;quot;);&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| myFunction(&amp;quot;ABC&amp;quot;,&amp;quot;A&amp;quot;,&amp;quot;Z&amp;quot;) |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
| ZBC                       |&lt;br /&gt;
+---------------------------+&lt;br /&gt;
1 row in set (0.00 sec)&lt;br /&gt;
mysql&amp;gt; drop function myFunction;&lt;br /&gt;
Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
mysql&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>