فونكىسىيىلەر

 


========================字符串函数==========================================

ئوڭ تەرەپتىكى بوشلۇقنى تازىلاش

SELECT RTRIM("  aa    ") as t ;

سول تەرەپتىكى بوشلۇقنى تازىلاش

 SELECT LTRIM("  aa    ") as t ;


ئوڭ-سول ھەر ئىككى تەرەپتىكى بوشلۇقنى تازىلاش

SELECT RTRIM(LTRIM("    aa    ")) as t ;



كۆرسىتىلگەن ھەرپنىڭ ئورننى تېپىش

SELECT POSITION("g" IN   "assfggsdfg" ) as t ;


ھەرپ-بەلگىنى تەتۇر تىزىش

 SELECT REVERSE("abc") as a;


MD5 مەخپىلەشتۈرۈش

SELECT MD5("123456") as s ;


ھەرپ سانىنى ئېلىش 

 SELECT  CHARACTER_LENGTH("aa") as result;


بايىت بويىچە ھەرپ سانىنى ئېلىش 

 SELECT  LENGTH("abc...") as result ;



ھەرپ بەلگىنى ئۇلاپ ھىسابلاش 

 SELECT  CONCAT("a-","a") as result ;


ھەرپ بەلگە قىستۇرۇش 

 SELECT  INSERT("a****",3,2,"qqqqb" ) as result ;


بېرىلگەن ھەرپ-بەلگىلەر نىڭ سول تەرپىدىن بەلگىلىك ساندىكى ھەرپ بەلگىنى ئېلىپ بىرىدۇ

 SELECT  left ("abcdef",2 ) as result ;


بېرىلگەن ھەرپ-بەلگىلەر نىڭ ئوڭ تەرپىدىن بەلگىلىك ساندىكى ھەرپ بەلگىنى ئېلىپ بىرىدۇ

 SELECT  RIGHT ("abcdef",2 ) as result ;


بېرىلگەن ھەرپ-بەلگىلەر نىڭ كۆرسىتىلگەن ئورنىدىن باشلاپ بەلگىلىك ساندىكى ھەرپ بەلگىنى ئېلىپ بىرىدۇ

 SELECT   SUBSTRing("abcd",2,2)  as result;



بېرىلگەن ھەرپ-بەلگىلەرئىچىدىن كۆرسىتىلگەن ھەرپ بەلگىنى بەلگىلەنگەن ھەرپ بەلگىگە ئالماشتۇرۇپ بىرىدۇ

 SELECT   REPLACE ("abcd","d","a")  as result ;


========================日期和时间函数========================================


نۆۋەتتىكى چىسلانى ئېلىش

 SELECT  CURDATE() as date;

نۆۋەتتىكى ۋاقىتنى ئېلىش

 SELECT  CURtime() as time;


نۆۋەتتىكى چىسلا-ۋاقىتنى ئېلىش

 SELECT NOW()  as time;

چىسلانىڭ يىلنى بۆلىكىنى ئېلىش

 SELECT   YEAR ("2015-06-14");


  چىسلانىڭ ئاي بۆلىكىنى ئېلىش

 SELECT  MONTH  ("2015-06-14");

چىسلانىڭ كۈن بۆلىكىنى ئېلىش

 SELECT  DAY( "2015-06-14");


چىسلادىن ھەپتىنىڭ نەچچىنچى كۈنى ئېكەنلىكىنى ئېلىش

 SELECT  WEEKDAY( "2015-06-14");


چىسلادىن شۇ يىل ئىچىدىكى نەچچىنچى ھەپتە ئېكەنلىكىنى ئېلىش

 SELECT  WEEK( "2015-06-14");


ۋاقىتنىڭ سائەت بۆلىكىنى ئېلىش

  SELECT  HOUR("12:42:51");


ۋاقىتنىڭ مىنۇت بۆلىكىنى ئېلىش

  SELECT  MINUTE ("12:42:51");


ۋاقىتنىڭ سىكونىت بۆلىكىنى ئېلىش

  SELECT  SECOND ("12:42:51");


ئىككى چىسلا ئارىسىدىكى كۈن پەرقىنى ئېلىش

  SELECT  DATEDIFF("2013-1-5","2012-1-12");


 چىسلاغا كۈن قوشۇپ ھېسابلاش  

  SELECT  ADDDATE( "2013-1-5","5");


 چىسلاغا يىل-ئاي قوشۇپ ھېسابلاش  

  SELECT  ADDDATE( "2013-3-5", INTERVAL '1 2' YEAR_MONTH ) ; 


 چىسلاغا ئاي قوشۇپ ھېسابلاش  

  SELECT  ADDDATE( "2013-3-5", INTERVAL '3' MONTH ) ;


 چىسلاغا كۈن قوشۇپ ھېسابلاش  

 SELECT  ADDDATE( "2013-3-5", INTERVAL '3' DAY ) ;



 چىسلادىن كۈن كېمەيتىپ ھېسابلاش  

 SELECT  SUBDATE( "2013-3-5", INTERVAL '3' DAY ) ;  


ئىككى ۋاقىتنى قوشۇپ ھېسابلاش

 SELECT  ADDTIME("10:21:15","10:21:15") ;


ئىككى ۋاقىت ئارىسىدىكى پەرىقنى ھېسابلاش

  SELECT   TIMEDIFF( "14:44:32","10:21:15") ;


  تەپسىلىي ئۇچۇرىنى كۆرۈش بېتى، ۋە كۆرۈلۈش قېتىم سانىنى ھېسابلاش


 UPDATE books set checked =checked+1 WHERE id =14  ;



======================== 数学函数 ==========================================


مۇتلەق قىممەت

SELECT abs(-1) as a ;


كەسىر ساننى پۈتۈنلەش

 SELECT  ROUND(14.9)   as f ;


كەسىر ساننى پۈتۈنلەش

SELECT ceil(0.225) as m ;


SELECT floor(1.42) as m ;


تەۋەككۇل سان ھاسىل قىلىش

 SELECT RAND()  as f ;


كەسىر چېكىتىدىن كېيىنكى خانە سانىنى بەلگىلەپ پۈتۈنلەش

 SELECT  TRUNCATE(1.2240114,1)   as f ;


دەرىجىگە كۆتۈرۈپ ھىسابلاش

 SELECT  pow(2,3)   as f ;


كۋادىرات يېلتىزىنى ھىسابلاش

 SELECT  sqrt(64)   as f ;


قالدۇق ساننى ھىسابلاش

 SELECT  mod(9,2)   as f ;

بولۇڭنى رادىئانغا سۇندۇرۇپ ھىسابلاش

 SELECT  RADIANS(4)   as f ;


  رادىئاننى بولۇڭغا سۇندۇرۇپ ھىسابلاش

 SELECT  DEGREES(30)   as f ;


评论

FIND_IN_SET(str,strlist),该函数的作用是查询字段(strlist) 中是否包含(str)的结果,返回结果为 null或记录 。 
 
str 要查询的字符串 
strlist  需查询的字段,参数以”,”分隔,形式如 (1,2,6,8,10,22) 
假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。 
 
如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。 如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号( , )时将无法正常运行。 
———————————————— 
 
                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 
                         
原文链接:https://blog.csdn.net/bbj12345678/article/details/125562334

2025-03-03 15:23:48

SELECT FIND_IN_SET('b', 'a,b,c,d'); 
// 结果:2 
// 因为 b 在strlist集合中2的位置, a是位置1 

2025-03-03 15:22:47

 
 
安装命令 
mysqld -install 
=================================== 
 
 初始化命令 
mysqld --initialize-insecure --user=mysql 
 
 启动命令 
net start mysql 
=================================== 
 
 停止命令 
net stop mysql 
=================================== 
 
 删除 MySQL 服务 命令 
 mysqld -unstall 
 mysqld remove 
 sc delete  mysql 
=================================== 
 
 
登录命令 
mysql -h 127.0.0.1 -P 3306 -u root -p111

2025-03-03 13:46:54

 
MySQL-5.7 下载地址 
 
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip

2025-03-03 13:45:48

having和where的区别:  
Select city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weather);  
作用的对象不同。WHERE 子句作用于表和视图,HAVING 子句作用于组。WHERE 在分组和聚集计算之前选取输入行(因此,它控制哪些行进入聚集计算), 而 HAVING 在分组和聚集之后选取分组的行。因此,WHERE 子句不能包含聚集函数; 因为试图用聚集函数判断那些行输入给聚集运算是没有意义的。 相反,HAVING 子句总是包含聚集函数。(严格说来,你可以写不使用聚集的 HAVING 子句, 但这样做只是白费劲。同样的条件可以更有效地用于 WHERE 阶段。)在前面的例子里,我们可以在 WHERE 里应用城市名称限制,因为它不需要聚集。 这样比在 HAVING 里增加限制更加高效,因为我们避免了为那些未通过 WHERE 检查的行进行分组和聚集计算综上所述:having一般跟在group by之后,执行记录组选择的一部分来工作的。where则是执行所有数据来工作的。再者having可以用聚合函数,如having sum(qty)>1000

2024-11-18 17:07:39

-- SELECT  * FROM books ORDER BY `ID` Asc 
-- SELECT  * FROM books ORDER BY `ID` Desc 
 
-- SELECT  * FROM books ORDER BY `money` Asc 
-- SELECT  * FROM books ORDER BY `money` Desc 
 
  select id,`bookName`,`bookTime` from `mybook1` WHERE `id` in (1,3,5,7,8) 
 
 select id,`bookName`,`bookTime` from `mybook1` WHERE `id` not in (1,3,5,7,8) 
 
 
SELECT * from books WHERE icon   is NULL 
 
SELECT * from books WHERE icon is not NULL 
 
SELECT  * FROM books   WHERE id BETWEEN 5 and 10 
 
SELECT  * FROM books   WHERE id not  BETWEEN 5 and 10 
 
-- SELECT  * FROM books GROUP BY `category` 
 
SELECT MAX(`money`) as money FROM `books` 
 
SELECT min(`money`) as money FROM `books` 
 
SELECT min(`money`) as money FROM `books` 
 
SELECT avg(`money`) as money FROM `books` 
 
  

2024-11-17 23:24:30

HAVING 子句用于对聚合函数的结果进行过滤。它仅在 GROUP BY 子句之后使用,对分组后的数据进行条件筛选。

2024-11-17 23:23:12

--  GROUP BY 语句用法 
 
SELECT  ( 
SELECT `categoryName` from category WHERE id=category 
) as categoryName ,COUNT(category)as count, sum(`money`) as sum  FROM books GROUP BY `category` 
 
--  HAVING 语句用法 
 
SELECT  ( 
SELECT `categoryName` from category WHERE id=category 
) as categoryName ,COUNT(category)as count, sum(`money`) as sum  FROM books GROUP BY `category` 
 HAVING count > 2

2024-11-17 23:22:26

my-ini 配置文件内容如下 : 
 
 
[mysqld] 
# 设置3306端口 
port=3306 
# 设置mysql的安装目录 
basedir="E:\\Program Files\\java\\mysql-5.7.19"  #这里改成自己的文件位置 
# 设置mysql数据库的数据的存放目录 
datadir="E:\\Program Files\\java\\mysql-5.7.19\\data"  #这里也是改成自己的文件位置,不要自己建立data文件夹,执行操作后会自动生成** 
# 允许最大连接数 
max_connections=200 
# 允许连接失败的次数。 
max_connect_errors=10 
# 服务端使用的字符集默认为utf8mb4 
character-set-server=utf8 
# 创建新表时将使用的默认存储引擎 
default-storage-engine=INNODB 
# 默认使用“mysql_native_password”插件认证 
#mysql_native_password 
default_authentication_plugin=mysql_native_password 
[mysql] 
# 设置mysql客户端默认字符集 
default-character-set=utf8 
[client] 
# 设置mysql客户端连接服务端时默认使用的端口 
port=3306 
default-character-set=utf8

2023-12-30 23:24:04

怎样合并查询结果 
==================================================================== 
 
 SELECT cn FROM cn WHERE  ID in  (1,2,3,4,5) 
 
( SELECT cn FROM cn WHERE Cn LIKE '查询%'  LIMIT 5)   
 
union 
( SELECT cn FROM cn_uy WHERE Cn LIKE '查询%'  LIMIT 5)   
 
union 
( SELECT cn FROM cn_en WHERE Cn LIKE '查询%'  LIMIT 5) 

2023-12-30 22:32:27

编程爱好者 © 2021 - 2024