我使用用VFP编写的数据库程序,我试图在该程序生成的报告中更改日期格式。 报告中的当前字段是DATE(),它返回DD / MM / YYYY 我希望这个领域能够返回DDMMYY(即没有分隔符,没有世纪和单个数字的日期和月份有一个领先的零) 有人能告诉我应该使用的报告字段表达式吗? 感谢
答案 0 :(得分:2)
我通过创建一个过程并将该过程调用为解决了这个问题 报告字段中的date2(date(),“”,“2,2,2”)。
这将打印150418
此功能也可以使用默认值,即日期(日期()),将打印15-Apr-18
public final class JavaNetworkWordCount {
private static final Pattern SPACE = Pattern.compile(" ");
public static void main(String[] args) throws Exception {
if (args.length < 2) {
System.err.println("Usage: JavaNetworkWordCount <hostname> <port>");
System.exit(1);
}
StreamingExamples.setStreamingLogLevels();
// Create the context with a 1 second batch size
SparkConf sparkConf = new SparkConf().setAppName("JavaNetworkWordCount");
JavaStreamingContext ssc = new JavaStreamingContext(sparkConf, Durations.seconds(1));
// Create a JavaReceiverInputDStream on target ip:port and count the
// words in input stream of \n delimited text (eg. generated by 'nc')
// Note that no duplication in storage level only for running locally.
// Replication necessary in distributed scenario for fault tolerance.
/* below four statements represents the core computation */
JavaReceiverInputDStream<String> lines = ssc.socketTextStream(
args[0], Integer.parseInt(args[1]), StorageLevels.MEMORY_AND_DISK_SER);
JavaDStream<String> words = lines.flatMap(x -> Arrays.asList(SPACE.split(x)).iterator());
JavaPairDStream<String, Integer> wordCounts = words.mapToPair(s -> new Tuple2<>(s, 1))
.reduceByKey((i1, i2) -> i1 + i2);
wordCounts.print();
/* starting actual stream processing */
ssc.start();
ssc.awaitTermination();
}
}
答案 1 :(得分:0)
报告之前如果尚未设置世纪(即使您只能在报告环境或波段代码中访问报告本身,也可以这样做):
Set century off
然后表达式就是:
CHRTRAN(DTOC(DATE()),'/','')
或者,如果您的意思是日期字段:
CHRTRAN(DTOC(myDateField),'/','')
如果出于任何原因,你不能使用&#34;设置世纪&#34; (并且它是ON)然后稍微改变表达式:
Stuff(CHRTRAN(DTOC(myDateField),'/',''),5,2,'')
也许这个更好,无论日期/日期时间设置如何都可以使用:
PADL(DAY(DATE())*10000+MONTH(DATE())*100+YEAR(DATE())%100,6,'0')
(如果是日期字段,则用字段名称替换date())