在UniData中是否有与sql server getdate()函数相同的功能?我希望能够像这样查询一个表:
SELECT GETDATE() AS EXPORT_DATE, * FROM TABLE
答案 0 :(得分:2)
有两种方法可以做到这一点 - 一种是更多"标准",另一种更灵活但稍微尴尬。
1)创建一个I-descriptor,返回当前日期,如下所示:
:AE DICT TABLE EXPORT_DATE
001 I
002 DATE()
003 D4/
004
005 10R
006 S
然后
:LIST TABLE EXPORT_DATE
2)使用Unidata" flavor"查询语言避免创建DICT项,但是类型有点笨拙,你需要在ECLTYPE U中(或者使用小写的命令(list,sort)来强制ECLTYPE U):
:list TABLE EVAL "OCONV(DATE(),'D4/')" COL.HDG "EXPORT_DATE"
就个人而言,我几乎总是在用于报告的主表中有一个TODAY,COUNTER,CURR.USER等DICT项目。您可以将I-Descriptors视为从SQL角度看的小迷你视图,它只返回一列。 Here's关于可能返回的日期格式的一组有趣示例。
答案 1 :(得分:1)
:AE VOC TODAY
001: I
002: DATE()
003: D4/
004:
005: 10R
006: S
通过将其放入VOC中,现在可以访问该环境中定义的所有文件。
您现在可以使用TRAN.DATE = TODAY
列出交易这会将TRANSACTIONS文件TRAN.DATE中的字段与今天的日期进行比较,该日期是从日期函数DATE()返回的。 UniData所使用的所有Pick语言都使用内部日期,即1967年12月31日过去的天数(Dick Pick的女儿出生的那一年)转换是在第3行," D4 /"显示时将该内部日期转换为MM / DD / CCYY格式。改变" /"到" - "使它看起来像MM-DD-CCYY,将4更改为2将改变显示的日期,只显示最后2位数字。