精华内容
下载资源
问答
  • 最近整理了一下SQL 计算每个月的本月的天数、第一天、最后一天方法。 大家可以通过联机帮助文档学习下 dateadd,datepart,datediff函数sql server: --第一天 select dateadd(dd,-datepart(dd,getdate())+1,...

    最近整理了一下SQL 计算每个月的本月的天数、第一天、最后一天方法。

    大家可以通过联机帮助文档学习下 dateadd,datepart,datediff函数。

    sql server:

    --第一天

    select dateadd(dd,-datepart(dd,getdate())+1,getdate())

    --最后一天

    select dateadd(dd,-datepart(dd,getdate()) ,dateadd(mm,1,getdate()))

    --下月第一天

    select dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate()))

    --本月天数

    select datediff(dd,getdate(),dateadd(mm,1,getdate()))

    或者

    select datediff(dd,dateadd(dd,-datepart(dd,getdate())+1,getdate()), dateadd(dd,-datepart(dd,getdate())+1,dateadd(mm,1,getdate())))

    或者

    select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' as datetime))))

    oracle

    --本月天数 oracle

    select to_number(to_char(last_day(sysdate),'DD')) from dual

     

     

    展开全文
  • sqlserver时间函数获取本月最后一天

    万次阅读 2014-09-18 19:58:21
    SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1')--这月的第一天 select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))--这月的最后一天  select dateadd(d,-day(getdate()),dateadd(m,2,...

    SELECT CONVERT(datetime,CONVERT(char(8),GETDATE(),120)+'1')--这月的第一天

    select dateadd(d,-day(getdate()),dateadd(m,1,getdate()))--这月的最后一天 

    select dateadd(d,-day(getdate()),dateadd(m,2,getdate()))--下月的最后一天 

    SELECT DATEADD(mm,DATEDIFF(mm,0,dateadd(month,-1,getdate())),0)--上月第一天
    select dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))--上月最后一天

    select DATEADD(SS,-1,dateadd(day,1,CONVERT(varchar(15) , getdate(), 102 )))--获取当天的最后一刻


    展开全文
  • 以下函数为一些常用的最基础的时间函数,不包括DATEADD、DATEFORMAT等函数 常用时间函数 now(), current_timestamp(); -- 当前日期时间 current_date(); -- 当前日期 current_time(); -- 当前时间 date('yyyy-mm-dd ...

    以下函数为一些常用的最基础的时间函数,不包括DATEADD、DATEFORMAT等函数

    常用时间函数

    now(), current_timestamp();     -- 当前日期时间
    current_date();                    -- 当前日期
    current_time();                    -- 当前时间
    date('yyyy-mm-dd hh:ii:ss');    -- 获取日期部分
    time('yyyy-mm-dd hh:ii:ss');    -- 获取时间部分
    date_format('yyyy-mm-dd hh:ii:ss', '%d %y %a %d %m %b %j');    -- 格式化时间
    unix_timestamp();                -- 获得unix时间戳
    from_unixtime();                -- 从时间戳获得时间
    

    日期函数

    select curdate();                       --获取当前日期
    select last_day(curdate());                    --获取当月最后一天。
    select DATE_ADD(curdate(),interval -day(curdate())+1 day);   --获取本月第一天
    select date_add(curdate()-day(curdate())+1,interval 1 month); -- 获取下个月的第一天
    select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --获取当前月的天数
    

    更多时间函数请参考:w3school时间函数

    展开全文
  • SQL函数

    2019-05-22 21:53:41
    SQL函数 日期:2019.05.22 作者:chj 单行函数 单行SQL函数 操作数据对象 接受函数返回个结果 只对行进行变换 每行返回个结果 可以转换数据类型 可以嵌套 参数可以是列、值或表达式 字符函数 ...

    SQL函数

    日期:2019.05.22
    作者:chj

    单行函数

    单行SQL函数

    • 操作数据对象
    • 接受函数返回一个结果
    • 只对一行进行变换
    • 每行返回一个结果
    • 可以转换数据类型
    • 可以嵌套
    • 参数可以是列、值或表达式

    字符函数

    大小写转换函数:

    函数 结果
    lower(‘HelloWorld’) helloworld
    upper(‘HelloWorld’) HELLOWORLD
    initcap(‘HElloWorld’) HelloWorld

    字符控制函数:

    函数 结果 含义
    concat(‘Hello’,‘world’) HelloWorld 将值连接在一起(只适用于两个参数)
    substr(‘Helloworld’,1,5) Hello 取一个确定长度的字符串,“1”表示从第一个字符开始,“5”表示后面5个字符
    length(‘Helloworld’) 10 将字符串的长度显示为数值
    instr(‘HelloWorld’,‘W’) 6 查找指定字符的位置
    lpad(‘15684’),10,‘*’ *****15684 使用‘*’在数值左填充,满十位
    rpad(‘15684’),10,‘*’ 15684***** 使用‘*’在数值右填充,满十位
    replace(‘JACK and JUE’,’J’,’BL’) BLACK and BLUE 查找字符,并进⾏替换字符
    TRIM(‘x’ FROM ‘xxxHelloWorldxxx’) HelloWorld 从字符串中修剪开头或结尾的字符

    数字函数

    • ROUND:四舍五入到制定的十进制值
    • TRUNC : 截断到制定十进制值
    • MOD : 返回余数
    函数 结果
    round(45.926,2) 45.93
    trunc(45.926,2) 45.92
    mod(1600,300) 100

    使用日期

    修改当前session日期格式

    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss day'; 
    select sysdate from dual;
    

    日期的算术运算

    • 在日期上加上或减去一个数字结果仍为日期
      date+number 、date - number
    • 两个日期相减返回日期之间的相差天数
      date - date
    • 可以用小时数除以24,可以加小时到日期上
      date+number/24

    日期操作函数

    函数 结果
    months_between 两个日期相差的月数
    add_months 向指定日期中加上若干月数
    next_day 指定日期的下一个日期
    last_day 指定本月的最后一天
    round 日期四舍五入
    trunc 日期截断

    使用方法:

    函数 结果
    months_between(‘01-SEP-95’,‘11-JAN-94’) 19.6774194
    add_months(‘31-JAN-96’,1) ‘29-FEB-96’
    next_day(‘01-SEP-96’,‘Friday’) ‘08-SEP-95’
    last_day(‘01-FEB-95’) ‘28-FEB-95’

    ROUND和TRUNC的使用方法:
    假设:sysdate=‘25-JUL-03’:

    函数 结果
    round(sysdate,‘month’) 01-AUG-03
    round(sysdate,‘year’) 01-JAN-04
    trunc(sysdate,‘month’) 01-JUL-03
    trunc(sysdate,‘year‘) 01-JAN-03

    转换函数

    • SQL中不同类型的转换函数
    • 使用to_char,to_number, 和 to_date转换函数
    • 在select语句中应用条件表达式

    转换函数分为:隐式数据类型转换、显示数据类型转换
    要尽量避免隐式数据类型转换(效率低)

    显示数据类型转换

    在这里插入图片描述

    日期格式的组成

    使用TO_CHAR函数对日期的转换

    元素 结果
    YYYY 完整的年份
    YEAR 年(英文)
    MM 双位数字月份
    Month 完整的月份名称
    Mon 月份的三个字母缩写
    DY 星期三个字母的缩写
    DAY 完整的星期名称
    DD 月份的数字天
    • 时间格式:
    HH24:MI:SS AM 15:45:32 PM

    使用双引号向日期中添加数字:

    DD “of” Month 12 of october
    • 日期在月份中的位置
    ddspth fourteenth

    使用TO_CHAR函数对数字进行转换

    元素 结果
    9 代表一个数字
    0 强制显示0
    $ 放置一个浮动的美元符号
    L 采用浮动本地货币符号
    . 打印小数点
    , 打印一个逗号作为前卫标识符

    使用TO_NUMBER和TO_DATE函数

    • 使用TO_NUMBER 函数将字符转换为数字格式:``
    to_number(char[, 'format_model'])
    
    • 使用TO_DATE 函数将字符转换为数字格式:
    to_date(char[, 'format_model'])
    

    通用函数

    函数 含义
    nvl(expr1,expr2) 转换null值为实际的值
    nvl2(expr1,expr2,expr3) 如果expr1不是null,那么转换为expr2,如果expr1是空值,则转换为expr3
    nullif(expr1,expr2) 比较两个表达式,如果相等,则返回null,如果不相等,返回第一个表达式
    coalesce(expr1,expr2,…,exprn) 返回表达式列表中的第一个非空表达式
    • nvl函数的用方法:

    这里表示判断comm是否为空值,若为空值则赋值为0,若不是空值则输出原有值
    在这里插入图片描述

    • coalesce函数的用法:
      部门编号拼接员工姓名,第二例显示入职的月份(小写),第三列判断奖金列,如果有奖金,那么输出月薪加奖金,如果没有奖金,那么仅输出月薪。并且使用银行显示钱的那种格式。第四列,判断是否有奖金,没有奖金的列出"no comm!!", 如果有奖金那么直接输出。并且并且使用银行显示钱的那种格式。
      在这里插入图片描述

    COALESCE函数

    CASE表达式

    • 查询员工姓名、职位、薪资和奖金,
      当职位为ANALYST的员工年薪按照150%进行发放,
      如果职位是salesman的员工年薪按照140%进行发放,
      如果职位是MANAGER的员工年薪按照130%进行发放,
      其他职位的员工年薪按照正常的进行发放。
      在这里插入图片描述
    • 查询员工姓名,职位,薪资和奖金
      当员工薪资小于1500的,则提示 工资太低
      当员工薪资在1500到4000区间,则提示 good
      当员工薪资大于4000的,则提示 very good
      在这里插入图片描述

    DECODE函数

    • 查询员工姓名,职位,薪资和奖金
      当职位为 ANALYST 和 MANAGER 的员工年薪按照150%进行发放
      如果职位是salesman的员工年薪按照130%进行发放
      其他职位的员工年薪按照正常的进行发放
      在这里插入图片描述
    展开全文
  • select * from table where month(column)='12';
  • 感谢:... 查看同主题的另篇博客:http://blog.csdn.net/cleanfield/article/details/41447585 -------------------------------------------------------...
  • sql第7 函数

    2021-01-20 15:14:10
    函数字符型函数1.大小写控制函数2.字符控制函数CONCAT()WM_CONCAT()REPLACE函数TRIM函数LPAD...返回第一个非空的函数13.DECODE函数日期函数1.获取月份差值函数2.获取月末日期函数3.获取下星期几函数4.SYSDATE函数5.月份
  • select to_char(trunc(add_months(last...本月第一天",  to_char(last_day(sysdate), 'yyyy-mm-dd') "本月最后一天"  --Oracle trunc()函数的用法  /**************日期********************/ ...
  • SQL本月第一天和最后一天日期 转自:http://www.cnblogs.com/xofosxb/archive/2010/12/03/1895421.html 网上取当月第一天和最后一天SQL语句很多,有的是通过字符截取,有的是通过函数,个人还是比较...
  • 以下的SQL语句,均与获取日期中的第一天、最后一天等相关,希望对您有所帮助。 nterval 参数,具有以下设定值:  设置 描述  Year yy, yyyy 年  quarter qq, q 季  Month mm, m 月  dayofyear dy, y ...
  • nterval 参数,具有以下设定值:  设置 描述  Year yy, yyyy 年  quarter qq, q 季  Month mm, m 月 ... Week wk, ww 周的日数  Hour hh 小时  minute mi, n 分钟  second ss, s 秒 ...
  • 摘自:... oracle获取本月第一天和最后一天及Oracle trunc()函数的用法 ...select to_char(trunc(add_months(last_day(sysdate), -1) + 1), 'yyyy-mm-dd') "本月第一天",  to_char(last_day(s
  • 当月第一天:  select dateadd(dd,-day(getdate())+1,getdate())  当月最后一天: select dateadd(dd,-day(getdate()),dateadd(m,1,getdate()))
  • SQL函数与自定义函数

    千次阅读 2017-07-30 22:55:05
    同时,MYSQL也支持自定义函数,这篇文章分为两个部分,限于篇幅,第一个部分介绍常用函数,第二部分讲解如何自定义函数。已有函数 数学函数:ABS(x),绝对值 CEIL(x),FLOOR(x),大于等于的整数,小于等于的整数 ...
  • Sql函数

    2011-07-08 11:11:55
    Sql列合并为字符串declare @output nvarchar(max) select @output = coalesce(@output + ',' , '') + OldColumnName from Tables_AutoCreateColumn print
  • oracle学习:sql学习-单行函数单行函数字符函数1. 把小写的字符转换成大写的字符2. 把大写字符变成小写字符3. 把首字符大写4.字符串的截取5. 获取字符串的长度6. 字符串替换数值函数1. 四舍五入函数:ROUND()2. ...
  • SQL函数 SQL函数分类 SQL函数主要有两种,分为单行函数、多行函数 单行函数:只对行进行变换,每行返回个结果。可以转换数据类型,可以嵌套参数可以是列或个值 多行函数:多行函数,每次对组记录进行...
  • SQL基本函数

    千次阅读 2018-03-09 17:36:18
    SQL基本函数单行函数行数据输入,返回个值的函数。多行函数:多行数据输入,返回个值得函数,典型的就是聚合函数、单行函数的几种类型1、字符型函数 1) lower('SQL Course')----->sql course ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,374
精华内容 2,549
关键字:

本月第一天sql函数