sql日期

sql日期时间格式转换

梦想与她 提交于 2019-12-02 02:15:22
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar(100), GETDATE(), 10

SQL语句——05、类型转换函数

烂漫一生 提交于 2019-12-01 20:35:48
类型转换概述 在赋值语句中数据类型会隐式转换,隐式转换应当尽量避免,因为写出来的SQL难理解,随着时间流逝自己都很难理解。特别是嵌入到大型程序中时,另外,oracle升级会修改隐式转换的规则,这会使程序移植遇到问题。 尤其是索引列不能使用隐式转换,这样就不走索引 。 赋值语句中oracle的自动转换规则: 将变长字符型(varchar2)或定长字符型(char)转换成数值型(number) 将变长字符型(varchar2)或定长字符型(char)转换成日期型(date) 将数值型(number)转换成变长字符型(varchar2) 将日期型(date)转换成变长字符型(varchar2) 表达式中oracle的自动转换规则: 将变长字符型(varchar2)或定长字符型(char)转换成数值型(number) 将变长字符型(varchar2)或定长字符型(char)转换成日期型(date) 转换成功的条件: 在将字符型数据转换成数字型时,要保证字符型数据为有效的数。 在将字符型数据转换成日期型时,要保证字符型数据位有效的日期。 ----拿字符和数字比较 oracle自动将字符串转成了数字 SQL> select ename,sal from emp where sal > '4000'; ENAME SAL ---------- ---------- KING 5000 ---

SQL GETDATE()日期格式化函数

久未见 提交于 2019-12-01 07:57:12
Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT

sql查询数据枚举判断转换及取时间间隔内数据

此生再无相见时 提交于 2019-12-01 07:45:16
例子: SELECT u.U_ChineseName AS 处理人, case u.U_Region when 1then '省公司' when 2then '西安分公司' when 3then '铜川分公司' when 4then '咸阳分公司' when 5then '宝鸡分公司' when 6then '渭南分公司' when 7then '汉中分公司' when 8then '安康分公司' when 9then '商洛分公司' when 10then '榆林分公司' when 11then '延安分公司'END AS 建设单位 ,u.U_OaDepartment AS 部门,u.U_OaGroup AS 专业室,td.Td_Title AS 待办标题,td.Td_ReceiveTime AS 发送时间 FROM T_Todo AS td,T_User AS u WHERE (td.Td_Title LIKE '%设计批复%' OR td.Td_Title LIKE '%终验批复%' ) AND td.Td_ActionTime IS NULL AND td.Td_DeleteTime IS NULL AND td.Td_Type=1 AND td.Td_ReceiveActorId IN (SELECT u.U_Id FROM T_User WHERE u.U

SQL Server 日期时间如何处理

十年热恋 提交于 2019-12-01 05:05:48
在SQL Server中,一般获取当前时间用 GetDate() 函数 GetDate()获得的日期由两部分组成,分别是今天的日期和当时的时间: Select GetDate() 用DateName()就可以获得相应的年、月、日,然后再把它们连接起来就可以了: Select Datename(year,GetDate())+'-'+Datename(month,GetDate())+'-'+Datename(day,GetDate()) 另外,DateName()还可以获得到小时、时间、秒、星期几、第几周,分别如下: Select Datename(hour,GetDate()) Select Datename(minute,GetDate()) Select Datename(second,GetDate()) Select Datename(weekDay,GetDate()) Select Datename(week,GetDate()) SQL中的日期类型DateTime的默认格式就是yyyy-mm-dd hh:mi:ss: mmm,可大多数的情况我们只想得到他的日期部分,而不许要后面的时间。 使用Convert()函数: select convert(char(10),GetDate(),120) as Date 第3个参数就是用来设置日期类型数据的显示样式的

sql server 中DateName()函数及DatePart()函数

眉间皱痕 提交于 2019-11-29 06:20:13
Datepart() : 返回代表指定日期的指定日期部分的整数 语法:Datepart(datepart,date) 返回类型: int DateName():返回代表指定日期的指定日期部分的字符串 语法:DateName ( datepart,date ) 返回类型:nvarchar 日期部分 缩写 备注 year yy, yyyy 年 quarter qq, q 季度 month mm, m 月 dayofyear dy, y 一年中的第几天 day dd, d 日 week wk, ww 一年中的第几周 weekday dw 日期部分返回对应于星期中的某天的数,例如:Sunday =1 星期几 Hour hh 小时 minute mi, n 分钟 second ss, s 秒 millisecond ms 毫秒 select GETDATE() as '当前日期时间', DateName(year,GetDate())+'-'+DateName(month,GetDate())+'-'+DateName(day,GetDate()) as '当前日期', DateName(quarter,GetDate()) as '第几季度', DateName(week,GetDate()) as '一年中的第几周', DateName(DAYOFYEAR,GetDate()) as

SQL获取当月天数的几种方法

我的未来我决定 提交于 2019-11-29 05:42:14
原文: SQL获取当月天数的几种方法 日期直接减去int类型的数字 等于 DATEADD(DAY,- 数字,日期) 下面三种方法: 1,日期加一个月减去当前天数,相当于这个月最后一天的日期。然后获取天数。(注意,不能用这种方式:当前日期减去当前天数,再加一个月,新日期不一定是当前月的最后一天的日期。比如当前月是3月。错误:select day(dateadd(month,1,getdate()-day(getdate())))) select day(dateadd(mm,1,getdate())-day(getdate())) 2,convert把日期转换成120格式的是 "2011-1-1"这种格式。 最终也是得到这个月最后一天。然后获取天数。 select day( dateadd(day,-1, dateadd(month,1,convert(char(07),getdate(),120)+'-01')) ), 3,下个月的今天与和今天的日期差 。 (这个月剩下的日期+已经过去的日期) select datediff(dd , GETDATE(), dateadd(mm, 1,GETDATE())) 4,下面这个方法很犀利。 先得到上个月的最后一天,然后加一个 天数(黑色标记) ,这个天数只要 大于一个月小于两个月 的天数即可。 得到下个月的日期

SQL获取当月天数的几种方法

大城市里の小女人 提交于 2019-11-29 05:42:01
日期直接减去int类型的数字 等于 DATEADD(DAY,- 数字,日期) 下面三种方法: 1,日期加一个月减去当前天数,相当于这个月最后一天的日期。然后获取天数。(注意,不能用这种方式:当前日期减去当前天数,再加一个月,新日期不一定是当前月的最后一天的日期。比如当前月是3月。错误:select day(dateadd(month,1,getdate()-day(getdate())))) select day(dateadd(mm,1,getdate())-day(getdate())) 2,convert把日期转换成120格式的是 "2011-1-1"这种格式。 最终也是得到这个月最后一天。然后获取天数。 select day( dateadd(day,-1, dateadd(month,1,convert(char(07),getdate(),120)+'-01')) ), 3,下个月的今天与和今天的日期差 。 (这个月剩下的日期+已经过去的日期) select datediff(dd , GETDATE(), dateadd(mm, 1,GETDATE())) 4,下面这个方法很犀利。 先得到上个月的最后一天,然后加一个天数(黑色标记),这个天数只要大于一个月的天数即可。但不要大于两个月的天数。 这样就可以生成下个月的日期。然后用这个天数减去新生成的日期多出来的天数

常用SQL之日期格式化和查询重复数据

萝らか妹 提交于 2019-11-29 02:32:29
本文列举一些工作中常用的SQL,以提升工作效率。 1 日期格式化 使用 DATE_FORMAT(get_date, '%Y-%m-%d') 函数进行格式化。其中:get_date 是需要被格式化的字段,'%Y-%m-%d' 是格式化后的日期格式。例如: select date_format('1997-10-04 22:23:00','%y %M %b %D %W %a %Y-%m-%d %H:%i:%s %r %T'); 结果:97 October Oct 4th Saturday Sat 1997-10-04 22:23:00 10:23:00 PM 22:23:00 SELECT count(*) FROM house Where get_date like '2006%-07%'; 2 查询指定字段是否有重复记录 SELECT house_id, count(id) AS sumCount FROM house GROUP BY house_id HAVING sumCount > 1; 在此处可以拿到所有有重复记录的house_id,当我们对这些数据做删除和更新等处理的时候,就非常容易了。 3 查找多个字段是否有重复记录 select * from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from

sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的格式(27-Aug-2019)

纵饮孤独 提交于 2019-11-28 17:27:04
脚本: /* 功能:sql server日期转换为dd-mon-yyyy和dd-MMM-yyyy这样的格式 示例:27-Aug-2019 作者:zhang502219048 脚本来源:https://www.cnblogs.com/zhang502219048/p/11416150.html */ --兼容sql server 2012以下(如sql 2005 / 2008) set language US_ENGLISH SELECT getdate() as NowTime , replace(convert(varchar(30), getdate(), 106),' ','-') as Result --sql server 2012及以上(如sql 2012 / 2014 / 2016) set language US_ENGLISH select getdate() as NowTime , format(getdate(),'dd-MMM-yyyy') as Result 脚本运行结果: 来源: https://www.cnblogs.com/zhang502219048/p/11416150.html