SQL中有没有方法得到某天是它所在星期的第几天?
我现在只能得到这天是星期几的字符串,然后用DECODE()将他转成相应的INT值,但现在的问题是如果字符集不同的话,得到的字符串也不同,那么DECODE就相当麻烦。 要求得到INT值。
我现在只能得到这天是星期几的字符串,然后用DECODE()将他转成相应的INT值,但现在的问题是如果字符集不同的话,得到的字符串也不同,那么DECODE就相当麻烦。 要求得到INT值。
to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss d')
其中第二个参数是日期格式,如果格式用'd',则可得到当天在星期里的天数,
范围从1到7,星期日为1,星期一为2.... to_number()函数可以将字符转换成数值。 对你的问题,举例如下:
select to_number( to_char(sysdate, 'd') ) from dual;
这个例子可以得到当天是本星期的第几天。
select to_number(to_char(sysdate,'D'))from dual; --5
select to_char(sysdate,'D')from dual --5