SQL中常用的的时间跟日期函数

GETDATE函数:

用途:前系统日期、时间

举例:select getdate()

Dateadd函数:

用途:在向指定日期加上一段时间的基础上,返回新的 datetime值:

举例:向日期加上2天,select dateadd(day,2,'2011-01-15') --返回:2011-01-17 00:00:00.000

 

Datediff函数:

用途:返回跨两个指定日期的日期和时间边界数:

举例:select datediff(day,'2008-08-01','2008-08-18') --返回:17

 

Datename函数:

用途: 返回代表指定日期的指定日期部分的字符串:

举例: select datename(weekday, '2011-01-27') --返回:星期四

 

Datepart函数:

用途: 返回代表指定日期的指定日期部分的整数:

举例: select datepart(month, '2011-01-15') --返回 1

 

6.day(),month,year()—这个可以跟datepart对照一下

 

select当前日期=convert(varchar(10),getdate(),120),

当前时间=convert(varchar(8),getdate(),114)

 

 

select datename(dw,2011-01-27)

 

select本年第多少周=datename(week,2011-01-27),

今天是周几=datename(weekday,2011-01-27)

*注释:

这里整理了一些SQLserver里面可能经常会用到的日期格式转换方法:

1.Select convert(varchar, getdate(), 120 )

2011-01-27 18:22:22

2.Select convert(varchar(12) , getdate(), 111 )

2011/01/27

3.select convert(varchar(12) , getdate(), 112 )

20110127

4.select convert(varchar(12) , getdate(), 102 )

2011.01.27

5.select convert(varchar(12) , getdate(), 101 )

27/01/2011

6.select convert(varchar(12) , getdate(), 103 )

01/27/2011

7.select convert(varchar(12) , getdate(), 104 )

01.27.2011

8.select convert(varchar(12) , getdate(), 105 )

01-27-2011

9.select convert(varchar(12) , getdate(), 106 )

01 27 2011

10.select convert(varchar(12) , getdate(), 107 )

27 01, 2011

11.select convert(varchar(12) , getdate(), 108 )

18:22:22

以上这些都是一些常用的日期格式转换。

 

在日常的工作中,我们常常会遇到这样一些问题:当空值“NULL”与非空值相加后,得到的确实空值,而不是我们想要的答案。

例如:1

 

last_name

first_name

a

null

 

根据上表,如果select last_name+first_name from table1

那么我们得到的值一定是一个NULL值,而不是我们想要的“a”。

2

 

 

last_name

first_name

a

 

 

 

而这个表中,如果 select last_name+first_name from table1

当表没有值的时候就可以得到我们想要的结果“a

 

综上所述:

Null+Null=Null

Null+””=Null

 

SQLserver中,如果直接使一个空值与字符串相加,即NULL+‘’的结果也会是NULL值,有两种方法使产生的结果为字符串:

使用:字段名=isnull(字段值,’’)+insull(串联的字符串,’’)

设置 CONCAT_NULL_YIELDS_NULL

SET CONCAT_NULL_YIELDS_NULLON时,串联空值与字符串将产生NULL结果。例如,SELECTabc+NULL将生产NULL。当SET CONCAT_NULL_YIELDS_NULLOFF时,串联空值与字符串将产生字符串本身(空值作为空字符串处理)。例如 SELECTabc+NULL将生成abc

将字符串字段的缺省值设为“”

 

SD022

转载于:https://www.cnblogs.com/liuzhuqing/archive/2013/03/19/7480589.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/421905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程导论课程主页 :12-13-2

关于课程 教师:徐强 — 喜欢和享受编程的人。 学生:热爱编程的同学。 40名同学是: 白炳博 陈祥男 何 毓 李 坤 毛荣景 王立华 吴嘉烽 虞邦瑞毕 生 丁佳楠 蒋 冰 梁高升 彭 宏 …

chmod修改权限

1.创建一个新文件 touch file_name 注意:linux没有文件拓展名的概念,创建时是什么样的就是什么样的!!! 2.查看权限 d:代表是一个目录 -:普通文件 r:读权限 w:写/修改的权限 x…

python学习之 字符串前'r'的用法

6.4.3 原始字符串操作符( r/R ) 关于原始字符串的目的,在 Python1.5 里面已经有说明,是为了对付那些在字符串中出现的特殊字符(下面的小节会介绍这些特殊字符)。在原始字符串里,所有的字符都是直接按照字面的意思来使用,没有转义特…

chown 和chgrp 软链接

1.修改文件所属主:chown -R -h owner file_name -R:对该目录下属所有子目录进行同样的操作 -h :修改符号链接文件的属主十不影响链接的使用 eg:chown paper project 文件project的所有权限都给了paper这个人 2.修改文件的…

初始化--代码

public class A{public static int X; //1static A(){X B.Y 1; //2 找B.Y时就会执行YA.X1;}}public class B{public static int Y A.X 1;static B(){}} 调用A.X B.Y,调用时,几乎同时执行类内部的静态数据成员,结果X0,Y1,再调用静态构造函数&a…

WebConfig Authorization 节点

授权的目的是确定是否应该授予某个标识对给定资源请求的访问权限类型。有两种基本方式来授予对给定资源的访问权限: 文件授权文件授权由 FileAuthorizationModule 执行,它在使用 Windows 身份验证时处于活动状态。它执行 .aspx 或 .asmx 处 理程序文件的…

Oracle buffer状态深入剖析

这篇文章是参考甲骨论老相老师的教学视频:http://v.youku.com/v_show/id_XMzkyMjA4NDM2.html所做学习笔记1. 什么是buffer之前提过很多次啦, 其实在oracle数据文件中最小的单位就是block, 而用户读取block数据时,oracle就会将block的数据放入缓存&#x…

java整数类型

1.整数数据在java中有三种表达形式:八进制,十进制,十六进制 2.整数类型的取值范围: 数据类型 内存的空间(8位等于1字节) 取值范围 byte: 8 …

目录与文件的相关操作

绝对路径与相对路径 绝对路径:路径写法一定是由根目录写起,例如:/home/zhangj这个目录。相对路径:不是由/写起,例如由:/home/zhangj要到/home/lostfound下面时,可以写成cd ../lostfound&#xf…

第二章 findxargs

1.find pathname -options [-print - exec/-ok] find 命令格式 2.pathname :目录的路径 3.-print : 将匹配的文件以标准方式输出 4.-exec :对匹配的文件执行该参数的shell命令形式为command space {} space\; 例如:find . -name 1 -exec cat {} \ ; 找到名字是…

数据库使用

1.启动数据库服务器 win r services.msc 找到mysql 右键启动 以管理员身份运行cmd 2.启动: net start mysql 3.关闭:net stop mysql 4.登录: mysql -h ip -P 端口 -u 用户名 -p C:\Windows\system32>mysql -h localhost -P 3306 -u root -p E…

选择不相交区间(贪心算法) By ACReaper

题目的分析被说得有点绕。自己理解是这样,首先由题目我们知道选择的区间都是相互不相交的,除这之外,我们的目标是尽量的让选择的区间达到最大化。 所以我们可以先对齐排序,因为输入是随机的。假设每个区间表示为(x,y)我们可以选择…

php 非常有用的高级函数PATH_SEPARATOR常量和set_include_path

zendframework的示例index.php里有这样一句 set_include_path(. . PATH_SEPARATOR . ../library/. PATH_SEPARATOR . ./application/models/. PATH_SEPARATOR . ./application/lib/. PATH_SEPARATOR . get_include_path()); 不知道 PATH_SEPARATOR是什么,其实就是…