首页 > 数据库技术 > 详细

mysql实现随机字符串插入

时间:2020-07-24 22:20:42      阅读:126      评论:0      收藏:0      [点我收藏+]

案例如下:

INSERT INTO t_rand(sex)
VALUES (ELT(
CEILING(rand() * 2),,
)
)

技术分享图片

ELT(n,str1,str2,str3,...) :如果n=1,则返回str1,如果n=2,则返回str2,依次类推。如果n小于1或大于参数个数,返回NULL。ELT()是FIELD()的功能补充函数。

mysql> SELECT ELT(3,hello,halo,test,world);
+--------------------------------------+
| ELT(3,hello,halo,test,world) |
+--------------------------------------+
| test                                 |
+--------------------------------------+
1 row in set

mysql>

FIELD(str,str1,str2,str,str3,str4...):返回str 在后面的参数列(str1,str2,str,str3,str4...)中的索引,起始索引为1。如果未在参数列中发现str 则返回0。

mysql> SELECT FIELD(halo,hello,halo,test,world);
+---------------------------------------------+
| FIELD(halo,hello,halo,test,world) |
+---------------------------------------------+
|                                           2 |
+---------------------------------------------+
1 row in set

mysql>

IFNULL(expr1,expr2):如果expr1是NULL,则返回expr2,如果expr1不是NULL,则返回expr1。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。

mysql> SELECT IFNULL(NULL,8);
+----------------+
| IFNULL(NULL,8) |
+----------------+
|              8 |
+----------------+
1 row in set

mysql> SELECT IFNULL(hello,world);
+-------------------------+
| IFNULL(hello,world) |
+-------------------------+
| hello                   |
+-------------------------+
1 row in set
mysql> SELECT IFNULL(null,world);
+----------------------+
| IFNULL(null,world) |
+----------------------+
| world                |
+----------------------+
1 row in set
mysql>

应用:

  如:订单记录中存储了该订单的来源类型编码,现需将其来源名称在页面列表中展示,来源信息并未单独建表存储,现需将查询语句做出修改以达到目的:

  在Oracle中我们可以用decode()函数来获取到来源名称:decode(条件,值1,返回值1,值2,返回值2...,缺省值);

  在Mysql中呢,我们需要ELT()、FIELD()来实现,必要的时候还会用到IFNULL()来实现最终效果。对于上述需求,我们可以采取以下sql来实现:

SELECT *,IFNULL(ELT(FIELD(type,1,2,3,4),来源A,来源B,来源C,来源D),未知) name from order;

https://www.jianshu.com/p/c3cf185f9edb

https://www.it610.com/article/1280658313272377344.htm

mysql实现随机字符串插入

原文:https://www.cnblogs.com/qmfsun/p/13373713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!