小技巧1--获取日期中的指定部分
2011-09-16 01:55
197 查看
sql:
SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return Current Year
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return Current Month
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return Current Day
SELECT EXTRACT(HOUR FROM SYSDATE) FROM DUAL;Error
Correct:SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
SELECT EXTRACT(MINUTE FROM SYSDATE) FROM DUAL;Error
Correct:SELECT EXTRACT(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
EXTRACT()函数的使用说明,英文部分有个很重要的部分.就是extract 抽取年月日部分和时分部分的使用方法是不同的.
EXTRACT(YEAR FROM SYSDATE)中FROM 的下一个参数是日期类型的时候可以抽取年月日.就是说这个参数是日期类型的时候就可以抽取年\月\日,而抽取不了时\分部分.抽取时分部分得在FROM 后面加带TIMESTAMP 且后面加时间字符
如果真要从日期类型的字段中抽取时\分部分用to_char() 函数就可以了.比如to_char(日期类型,'hh24:mi')
java
GregorianCalendar gc = new GregorianCalendar();
int day = gc.get(Calendar.DAY_OF_MONTH);
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(Calendar.getInstance().getTime());
System.out.println("gc.getTime()="+gc.getTime());
int day = gc.get(Calendar.DAY_OF_MONTH);
int month = gc.get(Calendar.MONTH);
String str_date = new SimpleDateFormat("yyyy-MM").format(gc.getTime());
gc.add(GregorianCalendar.MONTH, -1);//在月份上减1
int month1 = gc.get(Calendar.MONTH);
String str_date1 = new SimpleDateFormat("yyyy-MM").format(gc.getTime());
gc.add(GregorianCalendar.MONTH, -1);//在月份上减2
int month2 = gc.get(Calendar.MONTH);
String str_date2 = new SimpleDateFormat("yyyy-MM").format(gc.getTime());
SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL; return Current Year
SELECT EXTRACT(MONTH FROM SYSDATE) FROM DUAL; return Current Month
SELECT EXTRACT(DAY FROM SYSDATE) FROM DUAL; return Current Day
SELECT EXTRACT(HOUR FROM SYSDATE) FROM DUAL;Error
Correct:SELECT EXTRACT(HOUR FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
SELECT EXTRACT(MINUTE FROM SYSDATE) FROM DUAL;Error
Correct:SELECT EXTRACT(MINUTE FROM TIMESTAMP '2005-10-10 10:10:10') FROM DUAL;
EXTRACT()函数的使用说明,英文部分有个很重要的部分.就是extract 抽取年月日部分和时分部分的使用方法是不同的.
EXTRACT(YEAR FROM SYSDATE)中FROM 的下一个参数是日期类型的时候可以抽取年月日.就是说这个参数是日期类型的时候就可以抽取年\月\日,而抽取不了时\分部分.抽取时分部分得在FROM 后面加带TIMESTAMP 且后面加时间字符
如果真要从日期类型的字段中抽取时\分部分用to_char() 函数就可以了.比如to_char(日期类型,'hh24:mi')
java
GregorianCalendar gc = new GregorianCalendar();
int day = gc.get(Calendar.DAY_OF_MONTH);
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(Calendar.getInstance().getTime());
System.out.println("gc.getTime()="+gc.getTime());
int day = gc.get(Calendar.DAY_OF_MONTH);
int month = gc.get(Calendar.MONTH);
String str_date = new SimpleDateFormat("yyyy-MM").format(gc.getTime());
gc.add(GregorianCalendar.MONTH, -1);//在月份上减1
int month1 = gc.get(Calendar.MONTH);
String str_date1 = new SimpleDateFormat("yyyy-MM").format(gc.getTime());
gc.add(GregorianCalendar.MONTH, -1);//在月份上减2
int month2 = gc.get(Calendar.MONTH);
String str_date2 = new SimpleDateFormat("yyyy-MM").format(gc.getTime());
相关文章推荐
- 嵌入式 sed技巧获取指定部分
- SQL DATEPART的使用 获取日期的指定部分的整数
- oracle中从指定日期中获取月份或者部分数据
- SQL Server 获取最后一天(指定时间的月最后一天日期)
- php 获取指定日期所在月份的最后一天
- Java中获取指定日为星期几及其他日期操作
- C#获取指定月指定周的日期范围
- Java中获取指定日为星期几及其他日期操作
- java获取任意指定日期后前后任一一天
- Python根据指定日期获取周的信息
- 使用sqlserver日期函数获取当前日期(指定格式)
- sql语句中获取datetime的日期部分或时间部分
- 获取指定日期的前12个月
- 获取指定月份中的周末日期
- 根据当前日期(指定日期),获取下周日期
- java获取当月天数,指定年月的天数,指定日期获取对应星期(转)
- sql语句中获取datetime的日期部分或时间部分
- 获取指定日期所在年份的天数
- java 根据指定日期获取前一天或者后一天的日期 比较日期大小
- 获取指定日期是星期几