今天在工作中,遇到一个问题一直解决不了,错误信息是这样的
invalid input syntax for type numeric ''2014-11-04''
我有一个函数,getholidaydays(start,stop,days),用的时候调用,用来计算实际当月的休假天数,但是运行的时候一直报错。
最终的解决方案是,在函数内部,所有涉及到start与stop的地方,都加上 cast函数,
cast(start as date)
这样就行了。
报错原因,因为我涉及到了计算
lastday('2024-11')-stop +1
这个1是数字类型的,所以它想把前边的都转成数字numeric类型,所以报错。直接强制start转成日期形式,1就会被转成字符串。就解决了。