以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  表达式自动编号日期转换文本问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100905)

--  作者:liusongboy
--  发布时间:2017/5/20 16:41:00
--  表达式自动编号日期转换文本问题
表达式如下
[单据类型] + SubString(Convert([日期],System.String),1,10)+ SubString(\'0000\', 1, 4 - Len(Convert([_SortKey],\'System.String\'))) + Convert([_SortKey], \'System.String\')
生成的编号是 JHRK2017-05-210001
请问我要JHRK201705210001这样该怎么转换。
也就是2017-05-21转为20170521这个表达式怎么写。
表达式的函数帮助在哪里。麻烦告知下

--  作者:有点蓝
--  发布时间:2017/5/20 16:44:00
--  
[单据类型] + SubString(Convert([日期],System.String),1,4)+ SubString(Convert([日期],System.String),6,2)+ SubString(Convert([日期],System.String),9,2)+ SubString(\'0000\', 1, 4 - Len(Convert([_SortKey],\'System.String\'))) + Convert([_SortKey], \'System.String\')


--  作者:liusongboy
--  发布时间:2017/5/20 16:46:00
--  
难道要用土办法
SubString(Convert([日期],System.String),1,4)取年
SubString(Convert([日期],System.String),6,2)取月
SubString(Convert([日期],System.String),9,2)取日
然后组合。有没有时间转文本的函数。
比如像sql中的Convert可以指定转换后的时间格式
Select CONVERT(varchar(100), GETDATE(), 112): 20060516 
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16

--  作者:有点蓝
--  发布时间:2017/5/20 16:55:00
--  
表达式没有,只能这样用