sql中日期,字符串的获取和转换

------字符串--》date类型

代码: select to_date(‘2014-12-19 10:00:00‘, ‘yyyy-mm-dd hh24:mi:ss‘) as a,
                  to_date(‘2014/12/20 10:00:00‘, ‘yyyy/mm/dd hh24:mi:ss‘) as b
        from dual

SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date(‘2005-01-01 13:14:20‘,‘yyyy-MM-dd HH24:mi:ss‘) from dual;

date--->字符串

代码: select to_char(to_date(‘2014-12-19 10:05:00‘, ‘yyyy-mm-dd hh24:mi:ss‘),‘yyyy-mm-dd hh:mi:ss‘) as a,
                 to_char(to_date(‘2014-12-19 10:05:00‘, ‘yyyy-mm-dd hh24:mi:ss‘),‘yyyy-mm-dd‘) as b,
                 to_char(to_date(‘2014/12/20 10:00:00‘, ‘yyyy/mm/dd hh24:mi:ss‘),‘yy-mm-dd‘)as c
        from dual

格式可以自己选择

另:计算月末 月初

------------------------------------------------------------------------------------------

本月月初:select trunc(to_date(‘20020221‘,‘yyyymmdd‘),‘mm‘) from dual;

下月月初:select trunc(add_months(to_date(‘20020221‘,‘yyyymmdd‘),1),‘mm‘) from dual;

如果只有年月,可以这样写,本月初:select to_date(‘200202‘,‘yyyymm‘) from dual;

下月月初:select add_months(to_date(‘200202‘,‘yyyymm‘),1) from dual;

------------------------------------------------------------------------------------------

本月月末:select last_day(‘20140201‘)from dual;

下月月末:select last_day (add_months(‘20140201‘,1))from dual

如果只有年月,可以这样写,本月月末:select add_months(to_date(‘201402‘,‘yyyymm‘)-1,1) from dual

下月 月末:select add_months(to_date(‘201402‘,‘yyyymm‘)-1,2) from dual

时间: 2024-11-08 04:58:15

sql中日期,字符串的获取和转换的相关文章

SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换

SpringMVC表单或Json中日期字符串与JavaBean的Date类型的转换 场景一:表单中的日期字符串和JavaBean的Date类型的转换 在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换, 例如,如下代码S_ROLE_QO这个bean中包含有Date类型属性,不处理就拿不到值. /** * 分页取角色列表 * @param s_ROLE_QO 角色查询条件 * @return */ @RequestMapping(value = "/

SQL点滴33—SQL中的字符串操作

原文:SQL点滴33-SQL中的字符串操作 计算字符串长度len()用来计算字符串的长度 select sname ,len(sname) from student 字符串转换为大.小写lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lower('I AM A STUDENT !') select upper('i am a student !') 截去字符串左.右侧空格                                    

SQL中关于字符串的处理

DECLARE @STR VARCHAR(MAX),@PRAM VARCHAR(20)SET @STR='中华人民共和国万岁'--字符串连接SET @[email protected]+'an'[email protected] --字符串拆分WHILE LEN(@STR)>0BEGINSET @PRAM=LEFT(@STR,4)PRINT '取得参数:'[email protected]SET @STR=RIGHT(@STR,LEN(@STR)-4)PRINT '剩余字符串:'[email p

在视图中输出字符串及数据类型的转换

 1:在@{}代码块中输出字符串 @{ 1)Response.Write(字符串); 2)@Html.Raw("<p>哇哈哈</p>");  //不会转义HTML 3)string str="<p>哇哈哈</p>";   //会转义成html @str: 4)HtmlString htm=new HtmlString("<p>哇哈哈</p>");   //不会转义HTML

sql 中日期格式转换成varchar

select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 select CONVERT(varchar(12) , getdate(), 112 ) 20040912

【特性】select语句中使用字符串链接获取字段值失败

坑1 在一个多行的表中,想把其中的一个字段值拿出来,组成一个字符串供后面使用. 按照以往,自己就如以下这么写了: declare @sql varchar(8000) set @sql='insert into XXX values(' select @sql=@sql+''','''+ field from YY 然后没有得到想要的所有行的字符串,第一行之后就没有了. 排查问题: 1. 自己仔细查看了数据,并打印出来,发现这个字段有换行. 于是自己又用replace把字段field的换行符,结

MySQL SQL优化之字符串索引隐式转换

之前有用户很不解:SQL语句非常简单,就是select * from test_1 where user_id=1 这种类型,而且user_id上已经建立索引了,怎么还是查询很慢? test_1的表结构: CREATE TABLE `test_1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` varchar(30) NOT NULL, `name` varchar(30) DEFAULT NULL, PRIMARY KEY (`id`),

sql中遍历字符串

在sql或者存储过程中会需要遍历字符串. declare @idList varchar(500), --如111,222,333,尾部加, @str varchar(100), @Id int, @split varchar(10) set @split = ',' while(charindex(@split,@idList)<>0) begin set @str = substring(@idList,1,charindex(@split,@idList)-1) set @idList

SQL中拆分字符串substr及统计字符出现频数replace用法实例讲解

一.拆分字符串为若干行 例一:要求将表emp中的'king'按照每行一个单词拆成四行 注意:substr(str,pos):截取pos位置开始的字符: substr(str,pos,len):从pos位置开始,选出接下去的len个字符 表emp: eid ename 1 ring 2 king 3 ting 4 ping 首先,建立表tmp(基干表,为了配合表一使用): tid 1 2 3 4 5 然后,select emp.ename,tmp.tid from emp,tmp where em