精华内容
下载资源
问答
  • 连接函数concat: select concat(‘id:’,id)id,concat(‘user:’,username)user,concat(‘password:’,password)pass from user; 2) select id,username,password,concat(id,’-’,username,’-’,password) id ...

    连接函数concat:

    select concat(‘id:’,id)id,concat(‘user:’,username)user,concat(‘password:’,password)pass from user;
    在这里插入图片描述
    2)
    select id,username,password,concat(id,’-’,username,’-’,password) id user pass from user;
    在这里插入图片描述
    3)
    select (id-1) as id,username,password from user;

    在这里插入图片描述

    随机数rand函数:

    select * from user order by rand() limit 1;

    展开全文
  • 达梦数据库常用函数——数值函数数值函数函数 ABS函数 CEIL函数 FLOOR函数 GREATEST函数 GREAT函数 LEAST函数 RAND()函数 ROUND函数 SIGN 数值函数 数值函数接受数值参数并返回数值作为结果。 函数 ABS 语法:ABS(n...

    数值函数

    数值函数接受数值参数并返回数值作为结果。

    函数 ABS

    语法:ABS(n)

    功能:返回 n 的绝对值。n 必须是数值类型。
    例 查询现价小于 10 元或大于 20 元的信息。

    SELECT PRODUCTID,NAME FROM PRODUCTION.PRODUCTWHERE ABS(NOWPRICE-15)>5;

    函数 CEIL

    语法:CEIL(n)

    功能:返回大于等于 n 的最小整数。n 必须是数值类型。返回类型与 n 的类型相同。

    SELECT CEIL(15.6);
    查询结果为:16
    SELECT CEIL(-16.23);
    查询结果为:-16

    函数 FLOOR

    语法:FLOOR(n)

    功能:返回小于等于 n 的最大整数值。n 必须是数值类型。返回类型与 n 的类型相同。

    SELECT FLOOR(15.6);
    查询结果为:15.0
    SELECT FLOOR(-16.23);
    查询结果为:-17.0

    函数 GREATEST

    语法:GREATEST(n1,n2,n3)

    功能:求 n1、n2 和 n3 中最大的数。 例

    SELECT GREATEST(1.2,3.4,2.1);
    查询结果:3.4

    函数 GREAT

    语法:GREAT(n1,n2)

    功能:求 n1、n2 中的最大的数。

    SELECT GREAT (2, 4);
    查询结果:4

    函数 LEAST

    语法:LEAST(n1,n2,n3)

    功能:求n1、n2和n3三个数中最小的一个。 例

    SELECT LEAST(1.2,3.4,2.1);
    查询结果:1.2

    函数 RAND()

    语法:RAND([n])

    功能:返回一个[0,1]之间的随机浮点数。n 为数值类型,为生成随机数的种子,当 n
    省略时,系统自动生成随机数种子。

    SELECT RAND();
    查询结果为一个随机生成的小数
    SELECT RAND(314);
    查询结果为:3.247169408246101E-002

    函数 ROUND

    语法:ROUND(n [,m])

    功能:返回四舍五入到小数点后面 m 位的 n 值。m 应为一个整数,缺省值为 0,m 为负
    整数则四舍五入到小数点的左边,m 为正整数则四舍五入到小数点的右边。若 m 为小数,系
    统将自动将其转换为整数。

    SELECT ROUND(15.163,-1);
    查询结果为:20.0
    SELECT ROUND(15.163);
    查询结果为:15

    函数 SIGN

    语法:SIGN(n)
    功能:如果 n 为正数,SIGN(n)返回 1,如果 n 为负数,SIGN(n)返回-1,如果 n 为 0,SIGN(n)返回0。

    展开全文
  • 从2500多行的表中随机取一行,使用rand函数: SELECT * FROM tbl_nichuiniu_article where Category='z1' ORDER BY RAND() LIMIT 1; 查询结果显示扫表两遍,order by rand() 需要使用临时表(Using temporary),...

    从2500多行的表中随机取一行,使用rand函数:

    SELECT * FROM tbl_nichuiniu_article  where Category='z1' ORDER BY  RAND()  LIMIT 1;

    查询结果显示扫表两遍,order by rand() 需要使用临时表(Using temporary),需要使用文件排序(Using filesort),效率低下,查询时间800毫秒

    网上找了个方法优化后,10毫秒,性能显著提升

    SELECT * FROM tbl_nichuiniu_article 
    WHERE Category='z1' and id >= (SELECT floor( RAND() * ((SELECT MAX(id) FROM tbl_nichuiniu_article)-(SELECT MIN(id) FROM tbl_nichuiniu_article)) + (SELECT MIN(id) FROM tbl_nichuiniu_article)))  
    ORDER BY id LIMIT 1; 

    0602更新
    实际使用一段时间上面的sql后,发现每次随机请求到的ID都是偏小的,随机的区间只有总数的前10%。于是再次更新sql:

    SELECT * FROM tbl_nichuiniu_article AS t1 JOIN (
    SELECT floor( RAND() * ((SELECT MAX(id) FROM tbl_nichuiniu_article)-(SELECT MIN(id) FROM tbl_nichuiniu_article)) + 
    (SELECT MIN(id) FROM tbl_nichuiniu_article)) AS id) AS t2
    WHERE t1.id >= t2.id
    ORDER BY t1.id ASC LIMIT 1;

    上一条没使用左连接,分析语句都正常,如下可获得一个随机数:

    SELECT floor( RAND() * ((SELECT MAX(id) FROM tbl_nichuiniu_article)-(SELECT MIN(id) FROM tbl_nichuiniu_article)) + 
    (SELECT MIN(id) FROM tbl_nichuiniu_article))

    但是联合成一整个语句查询时,随机到的数字却很小。
    原因是上面的sql查询出来的结果实际上是作为一张表。
    使用下面的语句id>= 对应的应该是一个字段,而不是一张表。

    SELECT * FROM tbl_nichuiniu_article WHERE Category='z1' and id >= 

    所以如果要对应一张查询出来的新表,就需要使用左连接。

    0602再次更新
    最开始的用法语句是没有报错的,出问题的还是随机数生成的过程与select语句结合时,有些变化没有被观察到。往后注意级联查询时用左连接,能避免类似的错误出现。

    展开全文
  • 正确答案是使用MySQL rand函数:UPDATE cdb_posts SET views = rand();顺便给你找了点关于mysql rand函数的实例,如下:那就在insert 命令中,value()里面用rand(),注意字段宽度是否够一直以为mysql随机查询几条...
  • 数据库常用函数

    2020-11-02 19:02:27
    本文讲讲常用的函数吧 ...SELECT RAND() -- 返回0~1的随机数 SELECT SIGN(-6) -- 判断符号 正数返回1,负数返回-1,0返回0 应该大多数语言都有这些函数吧 用select语句是为了能够获得返回值 对字符串的操作 SELECT

    本文讲讲常用的函数吧
    这是官方文档传送门里面是函数大全,我就挑常用的讲讲
    (其实很多和java通用的)

    对数值的操作

    SELECT ABS(-9)   -- 绝对值
    SELECT CEIL(5.6) -- 向上取整
    SELECT FLOOR(5.6)-- 向下取整
    SELECT RAND()    -- 返回0~1的随机数
    SELECT SIGN(-6)  -- 判断符号 正数返回1,负数返回-1,0返回0
    

    应该大多数语言都有这些函数吧
    用select语句是为了能够获得返回值

    对字符串的操作

    SELECT LOWER('Hello World')  -- 转小写
    SELECT UPPER('Hello World')  -- 转大写
    SELECT CHAR_LENGTH('吾将上下而求索')  -- 判断字符串长度
    SELECT CONCAT('学习','使我','快乐')   -- 拼接字符串
    SELECT INSERT('我昨天学MySQL',2,2,'今天') -- 定点替换定长字符串
    

    最后这个插入操作,insert(原字符串,替换的起始位置(这里起始位置是1而不是传统的0),替换长度,待插入的字符串)
    其实待插入的字符串不一定要和原来的(被删掉的)长度相同,
    在这里插入图片描述
    在这里插入图片描述
    这里长一点短一点都没关系

    所以这个插入函数也可以用来删除指定长度的字符串

    SELECT INSERT('我昨天学MySQL',2,2,'')
    

    在这里插入图片描述

    SELECT REPLACE('我今天学MySQL','今天','明天')
    
    SELECT LOWER('Hello World')  -- 转小写
    SELECT UPPER('Hello World')  -- 转大写
    SELECT INSTR('Hello World','o')  -- 查找字符串中某个字符首次出现的位置
    SELECT SUBSTR('makerjack001',6,4) -- 截取指定长度字符串,(源字符串,起始位置,长度)
    SELECT REPLACE('今天,我今天学MySQL','今天','明天') -- 替换出现的所有指定字符
    SELECT REVERSE('奶牛喝蜂蜜')  -- 字符串逆序
    

    时间操作

    SELECT CURRENT_DATE() -- 获取当前日期
    SELECT CURDATE()      -- 同上
    SELECT NOW()          -- 获取当前日期+时间
    SELECT LOCALTIME()    -- 同上
    SELECT SYSDATE()      -- 同上
    SELECT YEAR(NOW())
    SELECT MONTH(NOW())
    SELECT DAY(NOW())
    SELECT HOUR(NOW())
    SELECT MINUTE(NOW())
    SELECT SECOND(NOW())  -- 以上是当前的年、月、日、时、分、秒
    

    就不赘述了

    展开全文
  • MySQL数据库所用函数

    2020-05-19 13:25:12
    一、数学函数  数学函数主要用于处理数字,包括整型、浮点数等。 (1)ABS(x):返回x的绝对值 不区分大小写 (2)CEIL(x),CEILING(x):返回大于或等于x的最小整数  (3)FLOOR(x):返回小于或等于x的最大...
  • 数据库函数

    2020-08-25 18:49:45
    文章目录数据库函数一、数学函数二、聚合函数三、字符串函数四、日期时间函数 数据库函数 一、数学函数 常用的数学函数 ● abs(x)返回x的绝对值 示例 mysql> select abs(-6); +---------+ | abs(-6) | +-------...
  • 关于数据库函数

    2019-07-04 16:28:00
    Mid(database() from 1 for 1)==mid(databse(),1,1) 在数据库中字符型字段中条件值为false可以获取全部数据 ...(2)Floor(rand(0)*2) 插入虚拟表时出现键相同,导致的报错 (3)Updatexml ()中第一个,第三个,为错...
  • MySQL数据库常用函数

    2019-09-29 21:49:21
    一、数学函数 数学函数主要用于处理数字,包括整型、浮点数等。 ABS(x) 返回x的绝对值 不区分大小写 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数  SELECT CEIL(1.5) -- 返回2 FLOOR(x...
  • 目录数学函数字符串函数日期和时间函数系统信息函数聚合函数自定义函数 数学函数 select abs(-8);#求绝对值 select ceileng(9.4);#向上取整 select floor(9.4);#向下取整 select rand();#随机数,返回一个0-1之间的...
  • 17.RAND 27 18.ROUND 28 20.SIN 32 21.SQUARE 32 22.SQRT 33 23.TAN 34 字符串函数 35 1.ASCII 35 2.CHAR 37 3.CHARINDEX 39 4.DIFFERENCE 41 5.LEFT 42 6.LEN 43 7.LOWER 44 8.LTRIM 45 9.NCHAR 46 10.PATINDEX 49 ...
  • MySQL 数据库 常用函数

    2016-04-23 17:19:00
    一、数学函数 数学函数主要用于处理数字,包括整型、浮点数等。 ABS(x) 返回x的绝对值  SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数  SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回...
  • 【MySQL】数据库函数使用

    千次阅读 2021-02-14 21:07:20
    MySQL函数 前言 这一小节学习的是MySQL的函数,与其他语言的函数操作很相像,也比较简单,学习一些常用的掌握即可! MySQL函数官网:MySQL函数大全 ...select rand() --rand返回一个0~1之间的随机数 select sign(3
  • 文章目录数据库函数数学函数聚合函数字符串函数日期时间函数存储过程存储过程简介创建存储过程 数据库函数 数学函数 数学函数 描述 abs(x) 返回 x 的绝对值 rand( ) 返回 0 到 1 的随机数(0<=x<1)...
  • MySQL数据库函数

    2020-12-29 00:53:55
    目录数据库函数常用的数学函数聚合函数字符串函数日期时间函数 数据库函数 常用的函数分类: 数学函数 聚合函数 字符串函数 日期时间函数 常用的数学函数 select abs(1),abs(-1); #abs(x):返回x的绝对值 select ...
  • 文章目录数据库函数数据库函数的种类1,数学函数2,聚合函数3,字符串函数4,日期时间函数数学函数 数据库函数 数据库函数是指当需要分析数据清单中的数值是否符合特定条件时,使用数据库工作表函数数据库函数的...
  • 一.简单的数学函数 SELECT ABS(-8): #绝对值 SELECT CEILING(9.3); #大于等于我的最小的整数 SELECT FLOOR(9.3); #小于等于我的最大的整数...SELECT CHAR LENGTH(‘好好学习数据库’): #返回字符串中包含的字符数 SELE
  • $randno=rand(1,$total); $couno=mysql_query("select couno from course where couno=$randno"); $couname=mysql_query("select couname from course where couno=$randno"); $kind=mysql_query("select kind ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 383
精华内容 153
关键字:

数据库rand函数