SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL

该语句拼接 时间 与 LPAD产生的 'REFUNDSEQ.NEXTVAL值的前6位有字符,如果不足6位,就用0补足' ,为防止出现重复票号增加时间 ,一天最多出现999999个有效票号

DUAL : 是oracle的虚拟表,不是真实存在的,又称ORCLE伪表,方便输出结果集

REFUNDSEQ : 这个是开发人员自己起的一个"序列"的名字,序列一般用于生成id号

REFUNDSEQ.NEXTVAL : 就是取序列的下一个值

怎么把SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL在java中显示?

//生成交易流水号

public String getTicketNo() throws Exception {

Map map = jdbcTemplate.queryForMap("SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS TICKET_NO FROM DUAL");

return (String) map.get("RES_ORDER_NO");

}

一 、 LPAD() 、RPAD() 函数

* 从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思。该函数从左边对字符串使用指定的字符进行填充。

* 语法:LPAD( STRING, PADDED_LENGTH, [ PAD_STRING ] )

STRING :准备被填充的字符串;

PADDED_LENGTH :填充之后的字符串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符;

PAD_STRING :填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。

用例:

* SELECT LPAD('asdfg',10,'x') FROM DUAL;输出:'xxxxxasdfg'

* SELECT LPAD('ASDFG',10,'JK') FROM DUAL;输出:'JKJKJASDFG'

* SELECT LPAD('ASDFG',2) FROM DUAL;输出:'AS'

* RPAD() 函数从右边对字符串使用指定的字符进行填充,语法格式与LPAD格式相同:

RPAD('DEMO', 7); 将返回'DEMO '

RPAD('DEMO', 2); 将返回'DE'

RPAD('DEMO', 8, '0'); 将返回'tech0000'

RPAD('DEMO', 4, 'M'); 将返回 'DEMO'

RPAD('DEMO', 5, 'M'); 将返回 'DEMOM'

拼接——流水号,时间,单号:LPAD(流水号 || 时间,6,'0')

二 、 NEXTVAL()  函数

* 序列名.NEXTVAL :调用NEXTVAL将生成序列中的下一个序列号,调用时要指出序列名(第一次调用该方法值为10,第二次调用为11,第三次调用为12,依次递增)。

*

在Oracle数据库中,什么是序列呢?它的用途是什么?序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。

oracle nextval序列重复,Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析相关推荐

  1. oracle rpad mysql_Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析

    SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL 该语句拼接 时间 与 ...

  2. 【C语言】利用rand函数不重复地生成不重复的数组发牌且配对!扑克牌管理操作系统的升级与优化(CodeBlocks)

    PS:编程环境为Codeblocks 前言 如你所见,经过两周的洗礼,老师又抛出了一个难题 这次的扑克牌系统,需要设计一个小游戏 (当然写完就结课了!!!!!) 在结课的动力下,在野兽的咆哮中,我肝出 ...

  3. oracle 索引 序列,【Oracle】表、视图、序列、索引

    表(数据类型.约束).修改表结构 表的创建:create table 表名(字段名 数据类型 [约束]): 表的删除:drop table 表名: oracle表包括: 表名.字段.数据类型.[约束] ...

  4. php mysql随机数不重复,js生成不重复的随机数

    这篇文章主要为大家详细介绍了js生成不重复的随机数,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. JS代码如下: /** * * @param * ...

  5. php生成随机数永不重复,PHP生成不重复随机数的方法汇总

    本文汇总了5种生成不重复随机数的方法,其中方法一.二.三是本人常用的方法,方法四五来至度娘.其余方法还是有的,也欢迎大家将遗漏的方法告之,大家共同进步 方法一: $numbers = range (1 ...

  6. oracle数据库序列码,oracle 数据库中的序列

    序列是什么,通俗点说,序列就是按照一定顺序进行排列,序列会自动给你递增,生成唯一的序列号: oracle数据库不同于sqlServer数据库,oracle数据库中是没有自增长列,使用的是sequenc ...

  7. oracle添加序列器,Oracle 建表,添加主外键,序列,触发器

    select * from user_objects where object_type='TABLE'; --删除contact表,包括删除与其相关的约束 drop table contact ca ...

  8. 在oracle中创建一个序列,Oracle(创建序列)

    概念: 所谓序列,在oracle中就是一个对象,这个对象用来提供一个有序的数据列,这个有序的数据列的值都不重复. 1.序列可以自动生成唯一值 2.是一个可以被共享的对象 3.典型的用来生成主键值的一个 ...

  9. Oracle视图添加约束,Oracle创建视图的语法

    Oracle创建视图的语法 导读:就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料,内容精辟独到,非常感谢网友的分享,希望从中能找到对您有所帮助的内容. 相关 ...

最新文章

  1. c#写的贪吃蛇小游戏
  2. Jakarta Commons:巧用类和组件1
  3. nagios监控mysql
  4. “约见”面试官系列之常见面试题第四十一篇之VUE生命周期(建议收藏)
  5. win2003 程序时间提供程序 NtpClient错误解决
  6. 计算机毕业设计中用Java实现商场库存清单案例
  7. bzoj 1601: [Usaco2008 Oct]灌水(最小生成树)
  8. 几款ReactJS最优秀的UI框架
  9. Docker资源配置方法(Cgroup)
  10. web前端笔试试题一(含答案)
  11. 解决Windows远程桌面连接工具连接不上远程操作系统的问题
  12. 酬乐天扬州初逢席上见赠 唐 · 刘禹锡
  13. Router接口及连接
  14. 【POJ3710】Christmas Game 博弈 有限制的图上删边游戏(树形删边游戏进化1)
  15. KMP算法-严蔚敏数据结构
  16. JQuery对象与JavaScript对象的区别与转换
  17. 诚信迎考 计算机考试主题班会策划,诚信考试主题班会策划书
  18. 基于TLE6220GP的开关电磁阀驱动电路
  19. 三生万物---算法生成的25幅三角形图像
  20. linux 774是什么权限,7.6 Linux用户与文件权限操作实例

热门文章

  1. 【软考-软件设计师】(下午题).
  2. jsp 爱心宠物诊所源码_基于jsp的宠物医院医疗-JavaEE实现宠物医院医疗 - java项目源码...
  3. 【JavaScript+自然语言处理+HTML+CSS】实现Web端的智能聊天问答客服实战(附源码 超详细必看)
  4. 【web前端】JavaScript DOM元素(节点的创建appendChild(),删除removeChild(),修改replaceChild())
  5. OFDM数字通信MATLAB仿真实现
  6. android 逆向工程
  7. 大数据治理.数据储存技术
  8. input值输入数字
  9. MATLAB中regionprops的一些属性
  10. 正在运行的android程序,按home键之后退回到桌面,再次点击桌面图标避免再次重新启动程序的终极解决办法