11.26号----sysdate函数

本文详细解释了SQL中的sysdate和current_date函数的用法,包括如何获取数据库所在操作系统的当前时间,以及如何设置和获取本地时区的当前日期。同时展示了sysdate与current_date的不同之处,以及数据类型的差异。

1.该函数返回当前的日期与时间,一般和dual伪表一起合作,

2.sysdate函数用于获取数据库所在的操作系统的当前时间值的.

我们可以使用NLS_DATE_FORMAT参数或者TO_CHAR函数来获得我们想要的SYSDATE日期格式,具体的格式代码如下:

Format CodeExplanation
YEARYear, spelled out
YYYY4-digit year
MMMonth (01-12; JAN = 01).
MONAbbreviated name of month.
MONTHName of month, padded with blanks to length of 9 characters.
DDay of week (1-7).
DAYName of day.
DDDay of month (1-31).
DDDDay of year (1-366).
DYAbbreviated name of day.
HHHour of day (1-12).
HH12Hour of day (1-12).
HH24Hour of day (0-23).
MIMinute (0-59).
SSSecond (0-59).
SSSSSSeconds past midnight (0-86399).

3.与sysdate不同,CURRENT_DATE()函数会返回数据库会话所设置的本地时区的当前日期.

4.设置nls_date_format的时间格式

alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';

另外请注意SYSDATE函数的类型并非是DATE类型,而是其特有的类型:

SQL> create table mytime(t1 date);

Table created.

SQL> insert into mytime values (sysdate);

1 row created.

SQL> commit;

Commit complete.

SQL> select dump(t1), dump(sysdate), dump( current_date) from mytime;

DUMP(T1)
--------------------------------------------------------------------------------
DUMP(SYSDATE)
--------------------------------------------------------------------------------
DUMP(CURRENT_DATE)
--------------------------------------------------------------------------------
Typ=12 Len=7: 120,111,8,24,21,31,59
Typ=13 Len=8: 219,7,8,24,20,32,12,0
Typ=13 Len=8: 219,7,8,24,20,32,12,0

以上可以看到sysdate和current_date都属于TYPE=13,而普通DATE类型为TYPE=12

数据类型type=12代表DATE Valid date range from January 1, 4712 BC to December 31, 9999 AD.

SELECT T979.FuserId AS FuserId -- 会员ID ,T979.FserialId979 AS FserialId979 -- 流水ID ,T979.FwarehouseId979 AS FwarehouseId979 -- 仓库ID ,T046A.Fnumber046 AS FwarehouseId979Number -- 仓库编 ,T046A.Fname046 AS FwarehouseId979Name -- 仓库名称 ,T046A.FbarcodeId046 AS FwarehouseId979Barcode -- 仓库条码 ,T046A.UDF01A046 AS FwarehouseId979UDF01A ,T979.FgoodsId979 AS FgoodsId979 -- 货品ID ,T046C.Fnumber046 AS FgoodsId979Number -- 货品编 ,T046C.FbarcodeId046 AS FgoodsId979Barcode -- 货品条码 ,T046C.FbarcodeIdB046 AS FgoodsId979BarcodeB -- 基本条码02 2014-04-17 增加 ,T046C.FbarcodeIdC046 AS FgoodsId979BarcodeC -- 基本条码03 2014-04-17 增加 ,T046C.FbarcodeIdD046 AS FgoodsId979BarcodeD -- 基本条码04 2014-04-17增加 ,T046C.UDF01A046 AS FgoodsId979UDF01A -- 单位 -- ,T046C.FbarcodeIdE046 AS FgoodsId979BarcodeE -- 基本条码05 2014-04-17增加 ,T046C.Fname046 AS FgoodsId979Name -- 货品名称 ,T046C.FparentId046 AS FclassId046 -- 类别ID ,T046C.UDF38A046 AS FgoodsId784UDF38A -- 备件类型 ,T046C.UDF39A046 AS FgoodsId784UDF39A -- 备件有效期 ,T046C.udf07a046 AS FgoodsId979UDF07A --封装形式 ,T046C.udf09a046 AS FgoodsId979UDF09A --PARTNO ,T046C.udf40a046 AS FgoodsId979UDF40A --新增管控字段 ,T046D.Fnumber046 AS FclassId046Number -- 类别编 ,T046D.Fname046 AS FclassId046Name -- 类别名称 /* ,T046C.FbatchPropertyGroupId046 AS FbatchPropertyGroupId046-- 批次属性组 ,T046C.FpackId046 AS FpackId046 -- 默认包装 ,T046H.Fnumber046 AS FpackId046Number -- 包装编 ,T046H.Fname046 AS FpackId046Name -- 包装名称 ,T525.FunitId525 AS FunitId525 ,T525.FshowName525 AS FshowName525 -- 单位名称 ,CASE WHEN T525.FEAQuantity525 > 0 THEN ceil(FstorageQuantity979/FEAQuantity525) ELSE FstorageQuantity979 END AS FpackQuantity */ ,T979.FLPN979 AS FLPN979 -- 跟踪 --,T979.FmaxPackNumber979 AS FmaxPackNumber979 --最大包装 --,T979.FpaletteNumber979 AS FpaletteNumber979 --托盘 ,T979.FcaseNumber979 AS FcaseNumber979 -- ,T979.FipNumber979 AS FipNumber979 --内包装 ,T979.FspNumber979 AS FspNumber979 --小包装 ,T979.FminPackNumber979 AS FminPackNumber979 --最小包装 ,T979.FlocationId979 AS FlocationId979 -- 库位ID ,T046E.Fnumber046 AS FlocationId979Number -- 库位编 ,T046E.FbarcodeId046 AS FlocationId979Barcode -- 库位条码 ,T046E.Fname046 AS FlocationId979Name -- 库位名称 ,T046E.FparentId046 AS FputSectionId814 -- 上架区ID ,T046F.Fnumber046 AS FputSectionId814Number -- 上架区编 ,T046F.Fname046 AS FputSectionId814Name -- 上架区名称 /* ,T814.FpackSequence814 AS FpackSequence814 -- 拣货顺序 ,T814.Fusage814 AS Fusage814 -- 库位使用 ,CASE WHEN NVL(T814.Fhandling814,'') = '' -- 库位处理 THEN 'EA' ELSE T814.Fhandling814 END AS Fhandling814 ,T814.FEACapacity814 AS FEACapacity814 -- 库位数量限制(件) ,T021.Fsequence021 AS Fsequence021 -- 单位顺序 ,T814.FpackSectionId814 AS FpackSectionId814 -- 拣货区ID ,T046G.Fnumber046 AS FpackSectionId814Number -- 拣货区编 ,T046G.Fname046 AS FpackSectionId814Name -- 拣货区名称 ,T046E.Fstate046 AS FlocationId979Fstate -- 状态 */ ,T979.FstorageQuantity979 AS FstorageQuantity979 -- 库存数量 ,T979.FallotQuantity979 AS FallotQuantity979 -- 分配数量 ,T979.FholdFlag979 AS FholdFlag979 -- 冻结标记 /* ,T979.Fcubic979 AS Fcubic979 -- 体积 ,T979.FgrossWeight979 AS FgrossWeight979 -- 毛重 ,T979.FnetWeight979 AS FnetWeight979 -- 净重 ,T979.Famount979 AS Famount979 -- 金额 */ /*,CASE WHEN NVL(T979.FfirstInTime979,'') = '' THEN '' ELSE DATEDIFF('DD',f_strToTime(T979.FfirstInTime979), TO_CHAR(sysdate,'YYYYMMDDHH24MISS')) END AS FfirstInDay*/ /* ,DECODE(NVL(T979.FfirstInTime979,'*'),'*' ,'' ,DATEDIFF('DD',TO_CHAR(f_strToTime(T979.FfirstInTime979),'YYYYMMDDHH24MISS'), TO_CHAR(sysdate,'YYYYMMDDHH24MISS')) )AS FfirstInDay */ /* ,T979.FfirstInTime979 AS FfirstInTime979 -- 最早入库时间 ,T979.FlastInTime979 AS FlastInTime979 -- 最后入库时间 ,T979.FlastOutTime979 AS FlastOutTime979 -- 最后出库时间 */ /*,CASE WHEN NVL(T979.FlastOutTime979,'') = '' THEN TO_CHAR(DATEDIFF('DD',TO_CHAR(f_strToTime(NVL(T979.FfirstInTime979,TO_CHAR(sysdate,'YYYYMMDDHH24MISS'))),'YYYYMMDDHH24MISS'), TO_CHAR(sysdate,'YYYYMMDDHH24MISS'))) ELSE TO_CHAR(DATEDIFF('DD',TO_CHAR(f_strToTime(T979.FlastOutTime979),'YYYYMMDDHH24MISS'), TO_CHAR(sysdate,'YYYYMMDDHH24MISS'))) END AS FlastOutDay*/ /* ,DECODE(NVL(T979.FlastOutTime979,'*'),'*' ,DATEDIFF('DD',TO_CHAR(f_strToTime(T979.FfirstInTime979),'YYYYMMDDHH24MISS'), TO_CHAR(sysdate,'YYYYMMDDHH24MISS')) ,DATEDIFF('DD',TO_CHAR(f_strToTime(T979.FlastOutTime979),'YYYYMMDDHH24MISS'), TO_CHAR(sysdate,'YYYYMMDDHH24MISS')) )AS FlastOutDay */ ,T979.Fstate979 AS Fstate979 -- 状态 ,T979.FaddTime979 AS FaddTime979 -- 创建时间 ,T979.FaddEmpId979 AS FaddEmpId979 -- 创建人ID ,T979.FaddEmpName979 AS FaddEmpName979 -- 创建人 ,T979.FeditTime979 AS FeditTime979 -- 更新时间 ,T979.FeditEmpId979 AS FeditEmpId979 -- 更新人ID ,T979.FeditEmpName979 AS FeditEmpName979 -- 更新人 ,T979.Fmemo979 AS Fmemo979 -- 备注 ,T979.LotNO979 AS LotNO979 ,T979.LotAttStr979 AS LotAttStr979 -- 批次字符串 ,T979.LotAttStrKey979 AS LotAttStrKey979 -- 批次主键字符串 --,T979.LotAttBillId979 AS LotAttBillId979 -- 批次属性 --,T979.LotAttGoodsSerialId979 AS LotAttGoodsSerialId979 -- 批次属性 ,T979.LotAttBeginData979 AS LotAttBeginData979 -- 批次属性 ,T979.LotAttEndData979 AS LotAttEndData979 -- 批次属性 --,T979.LotAttCustomer979 AS LotAttCustomer979 -- 批次属性 ,T979.LotAttInData979 AS LotAttInData979 -- 批次属性 ,T979.LotAtt01A979 AS LotAtt01A979 ,T979.LotAtt02A979 AS LotAtt02A979 ,T979.LotAtt03A979 AS LotAtt03A979 ,T979.LotAtt04A979 AS LotAtt04A979 ,T979.LotAtt05A979 AS LotAtt05A979 ,T979.LotAtt06A979 AS LotAtt06A979 ,T979.LotAtt07A979 AS LotAtt07A979 ,T979.LotAtt08A979 AS LotAtt08A979 ,T979.LotAtt09A979 AS LotAtt09A979 ,T979.LotAtt10A979 AS LotAtt10A979 ,T979.LotAtt11A979 AS LotAtt11A979 ,T979.LotAtt12A979 AS LotAtt12A979 ,T979.LotAtt13A979 AS LotAtt13A979 ,T979.LotAtt14A979 AS LotAtt14A979 ,T979.LotAtt15A979 AS LotAtt15A979 ,T979.LotAtt16A979 AS LotAtt16A979 ,T979.LotAtt17A979 AS LotAtt17A979 ,T979.LotAtt18A979 AS LotAtt18A979 ,T979.LotAtt19A979 AS LotAtt19A979 ,T979.LotAtt20A979 AS LotAtt20A979 ,T979.LotAtt21A979 AS LotAtt21A979 ,T979.LotAtt22A979 AS LotAtt22A979 ,T979.LotAtt23A979 AS LotAtt23A979 ,T979.LotAtt24A979 AS LotAtt24A979 ,T979.LotAtt25A979 AS LotAtt25A979 ,T979.LotAtt26A979 AS LotAtt26A979 ,T979.LotAtt27A979 AS LotAtt27A979 ,T979.LotAtt28A979 AS LotAtt28A979 ,T979.LotAtt29A979 AS LotAtt29A979 ,T979.LotAtt30A979 AS LotAtt30A979 ,T979.LotAtt31A979 AS LotAtt31A979 ,T979.LotAtt32A979 AS LotAtt32A979 ,T979.LotAtt33A979 AS LotAtt33A979 ,T979.LotAtt34A979 AS LotAtt34A979 ,T979.LotAtt35A979 AS LotAtt35A979 ,T979.LotAtt36A979 AS LotAtt36A979 ,T979.LotAtt37A979 AS LotAtt37A979 ,T979.LotAtt38A979 AS LotAtt38A979 ,T979.LotAtt39A979 AS LotAtt39A979 ,T979.LotAtt40A979 AS LotAtt40A979 ,T046C.udf38a046 AS udf38a046goods ,T046C.udf39a046 AS udf39a046goods ,T046A.udf01a046 AS udf01a046 ,T9006.fgoodsnumber9006 AS fgoodsnumber9006 ,T9006.UDF01A9006 AS UDF01A9006 ,T9006.UDF02A9006 AS UDF02A9006 ,T9006.UDF03A9006 AS UDF03A9006 ,T9006.UDF04A9006 AS UDF04A9006 ,T9006.UDF05A9006 AS UDF05A9006 ,T9006.fmidsafestock9006 AS fmidsafestock9006 -- 安全库存 ,T9006.fexpdayflag9006 AS fexpdayflag9006 --是否保质期管理 ,T9006.fbelongdpm9006 AS fbelongdpm9006 -- 申请部门 ,T730.FNAME046 AS LotAtt02A979NAME --供应商名称 --,DECODE(T046C.udf17a046, -- 'RW',FstorageQuantity979 * nvl(T046C.udf24n046,0), -- 'RW0',FstorageQuantity979 * nvl(T046C.udf24n046,0), -- 'GD1',FstorageQuantity979 * nvl(T046C.udf24n046,0), -- 'DS1',FstorageQuantity979 * nvl(T046C.udf24n046,0), -- FwaferValidQuan1000Sum --) AS FwaferValidQuan1000Sum ,0 AS FwaferValidQuan1000Sum ,T004.frfidable004 FROM WM_INVdetails979 T979 LEFT JOIN BS_basicData046 T046A -- 仓库 ON T979.FuserId = T046A.FuserId AND T979.FwarehouseId979 = T046A.FbasicDataId046 LEFT JOIN BS_basicData046 T046C -- 货品 ON T979.FuserId = T046C.FuserId AND T979.FgoodsId979 = T046C.FbasicDataId046 LEFT JOIN bs_goods004 T004 ON T979.FuserId = T004.FuserId AND T979.FgoodsId979 = T004.FgoodsId004 LEFT JOIN BS_basicData046 T046D -- 类别 ON T046C.FuserId = T046D.FuserId AND T046C.FparentId046 = T046D.FbasicDataId046 LEFT JOIN BS_basicData046 T046E -- 库位表 ON T979.FuserId = T046E.FuserId AND T979.FlocationId979 = T046E.FbasicDataId046 LEFT JOIN BS_basicData046 T046F -- 上架区 ON T046E.FuserId = T046F.FuserId AND T046E.FparentId046 = T046F.FbasicDataId046 --LEFT JOIN V_UDF_1000_FIPNUMBER_SUM T1000_SUM --ON T979.FuserId = T1000_SUM.FuserId --AND T979.FipNumber979 = T1000_SUM.FipNumber1000 LEFT JOIN sl_goodswerks9006 T9006 --ON T979.FuserId = T9006.FuserId ON T046A.udf01a046 = T9006.fwerks9006 AND T046C.fnumber046 = T9006.fgoodsnumber9006 LEFT JOIN bs_basicdata046 T730 ON T979.FuserId = T730.FuserId AND T979.LotAtt02A979 = T730.FNUMBER046 AND T730.fsyssontypeid046 = 'CUSTOM02' 完整视图 如上 ,分析表结构字段 说明 业务逻辑
最新发布
11-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值