关于equal这个词,它当动词时应该就是sth equal sth 不该加to 啊,可我看怎么外国人有的也加to

关于equal这个词,它当动词时应该就是sth equal sth 不该加to 啊,可我看怎么外国人有的也加to,第1张

我的理解是:
一、equal作动词时,一般是及物动词。楼主所说的。。。sth equal to sth 或许不是一个完整的分句结构,而是一个名词性短语,后面的equal to sth 修饰其前的sth,即做后置定语。如:a man able to accomplish this task (一个能完成这项任务的人,be able to do) ,a man equal to this job(一个能胜任这份工作的人),a man capable of this work等等。
be+adj(或相当于形容词的分词)+prep短语/动词不定式短语 大多数可转化为后置定语结构,相当于相应的定语从句。如a man equal to this job相当于a man who is/was equal to this job(当然,前者显得简洁些)
二、she is sent bags of designer clothes every day as it is这句话没有错,转变为主动语态为:sb sends her bags of designer clothes every day as it is或者sb sends to her bags of designer clothes every day as it is或者sb sends bags of designer clothes to her every day as it is(第二句和第三句的结构是一样的,只是由于bags of designer clothes作send 宾语比较长,在第二句中被后移,英语不大喜欢“头重脚轻”)
其实你也会发现,你在“双宾”结构所举的例子Father made me a doll He wrote her a letter都可以转变一下:Father made a doll for me He wrote a letter to her不妨把转变后的主动句对照上面的被动句,就很容易理解为何被动句那样改写了。
另外,由于我们遇到的常常是将用直接宾语(指事物)作被动语态的主语,但并不是说就不能将间接宾语(常是表人的名词或代词)来做被动语语态的主语,你有疑问的那句话正是这种情况。所以那句话也相当于bags of designer clothes are sent to her every day as it is(as it is 在这里应该是“事实上,实际上”之意吧,含有一种对比转折之意)
呵呵,语法有时确实令人困惑,但是别忘了,语法只是人们对语言普遍现象的总结,而不是定律,(只是常见用法的归纳,但并不能因此而否定不常见的用法)是辅助你理解的,而不是为语法而学语法,语言在于沟通,交流和理解。语法是随着语言的发展而发展。多阅读,多接触活的语言素材,到时你会发现,许多结构现象似乎成了自然而然的,怪不足怪异,那时你便可以抛弃语法这个拐杖了。

oracle job不自动执行?Copyright © 1999-2020, CSDNNET, All Rights Reserved

 登录
ORACLE JOB无法自动执行 原创
2019-06-28 15:57:22
 1点赞

江湖见 
码龄3年
关注
背景:本人项目中有几个调度程序,其中有个job是每月月底最后一天晚上12点过执行,一开始运行的好好的 ,过了几个月业务需求调整,改为每月28号晚上12点过执行,于是我把job的运行时间由原来的TRUNC(ADD_MONTHS(SYSDATE,1),'MM')+1/1440
改为了TRUNC(SYSDATE,'MM')+28+5/1440,验证运行时间写的对不对
select to_char(TRUNC(SYSDATE,'MM')+28+5/1440,'yyyy-MM-dd hh24:mi:ss') from dual;
运行结果为
2019-05-29 00:05:00
看似没问题,然后我就编译 运行一次, job执行完,没有报错,确保存储过程脚本写的没问题,查看下次执行时间也正常,ok下班回家。。。。。
第二天来一看,数据没生成,再去看调度任务,NEXT_DATE时间不对,FAILURES错误次数长达13次, 吓得我赶紧先修改执行时间(必须必当前时间大),手动执行这个job。。。执行完再broken。
期间尝试改过很多运行时间的表达式,但每次到月底都是第一次手动编译运行没问题(排除存储过程语句写的是否问题),其次再等他自动运行 就不行了。网上看过很多解决方案,很多说是权限问题。。。 差点把我带跑偏,如果是权限问题 不可能其他job都能执行成功,于是问题还是出在表达式这。
在一个偶然的机遇下,请教了一位高人,他说这个表达式 貌似不能直接trunc sysdate ,必须要套一层函数 ,可以是last_day,亦或是add_month等。于是我再一次抱着尝试的心态去改改。
我改成了TRUNC(ADD_MONTHS(SYSDATE,0),'MM')+28+5/1440 (每月28号晚12点05分执行job就是29日凌晨)
先验证下
select to_char(TRUNC(ADD_MONTHS(SYSDATE,0),'MM')+28+5/1440,'yyyy-MM-dd hh24:mi:ss') from dual;
--运行结果是2019-06-29 00:05:00
ok没问题 再编译运行一次,ok也没问题,坐等晚上自动执行,由于是今天才改的,只能等今晚过了才能得知结果,如果成功了 我再回来 更新下。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12752480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存