sql转义字符的用法 sql对特殊符号进行转义( 三 )

22、Parsename():返回对象名称的指定部分 。可检索的对象部分包括对象名称、所有者名称、数据库名称和服务器名称 。其实也可以用于截取字符串 。该方法有两个参数:
参数1:要检索其指定部分的对象的名称 。此名称可包含四部分:服务器名称、数据库名称、所有者名称以及对象名称 。
参数2:要返回的对象部分 。只能为1至4的数值 。1 = 对象名称;2 = 架构名称;3 = 数据库名称;4 = 服务器名称
select parsename(\'server.dbo.dbTest.table\',1) tablename, parsename(\'server.dbo.dbTest.table\',2) dbname, parsename(\'server.dbo.dbTest.table\',3) schemaname, parsename(\'server.dbo.dbTest.table\',4) servername

sql转义字符的用法 sql对特殊符号进行转义

文章插图
这种截取方式类似于字符串分割,不过这里是倒着截取的,所以在一定程度上可以用于字符串的截取 。不过只支持小数点(.)的分割,而且只支持四位 。
select parsename(\'192.168.1.1\',4) col1, parsename(\'192.168.1.1\',3) col2, parsename(\'192.168.1.1\',2) col3, parsename(\'192.168.1.1\',1) col4
sql转义字符的用法 sql对特殊符号进行转义

文章插图
23、Getdate():获取当前日期时间 。
select getdate()
sql转义字符的用法 sql对特殊符号进行转义

文章插图
24、Year()/Month()/Day():获取指定日期表达式的年/月/日 。该方法有一个参数:
参数1:指定要操作的日期表达式 。
select year(\'2016-01-01\') -- 返回 2016select year(\'2017-01-01 12:30:30\') -- 返回 2017select year(getdate()) -- 返回 2017select month(\'2016-01-01\') -- 返回 1select month(\'2017-10-01 12:30:30\') -- 返回 10select month(getdate()) -- 返回 5select day(\'2016-01-01\') -- 返回 1select day(\'2017-10-03 12:30:30\') -- 返回 3select day(getdate()) -- 返回 1125、Isdate():用于判断指定的字符串表达式是否为日期 。返回 1,表示指定字符串表达式是日期 。返回 0,表示指定字符串表达式不是日期 。该方法有一个参数:
参数1:用于指定要操作的字符串表达式 。
select isdate(\'10/30/2017\') -- 月/日/年 返回 1select isdate(\'30/10/2017\') -- 日/月/年 返回 0select isdate(\'2017/10/30\') -- 年/月/日 返回 1select isdate(\'02/29/2017\') --用于判断闰年,由于2017不是闰年,所以没有29 返回 0select isdate(\'2017-01-01\') -- 返回 1select isdate(\'2017-01-01 10:10:10\') -- 返回 1select isdate(\'01-01-2017\') -- 返回 1select isdate(\'01-01-2017 10:10:10\') -- 返回 126、Datename():返回指定日期的指定日期的部分的字符串 。该方法有两个参数:
参数1:指定返回指定日期的指定部分的字符串 。可以为下图中的日期部分或者缩写 。
参数2:指定要操作的日期字符串 。
sql转义字符的用法 sql对特殊符号进行转义

文章插图
select datename(year,\'2017-01-01 10:10:10\') -- 返回 2017select datename(yyyy,\'2017-01-01 10:10:10\') -- 返回 2017 select datename(month,\'2017-01-01 10:10:10\') -- 返回 01select datename(mm,\'2017-01-01 10:10:10\') -- 返回 01 select datename(quarter,\'2017-05-02 10:10:10\') -- 表示一年的第几个季度 返回 2select datename(weekday,\'2017-02-02 10:10:10\') -- 表示一周的星期几 返回 星期四select datename(week,\'2017-02-02 10:10:10\') -- 表示一年的第几周 返回 5select datename(dayofyear,\'2017-02-02 10:10:10\') -- 表示一年的第几天 返回 33 select datename(hh,\'2017-01-01 10:30:25\') -- 返回 1027、Datepart():返回指定日期的指定日期的部分的整数 。Datepart() 方法和 Datename() 的方法使用方式类似,只不过 Datename() 方法返回的是一个字符串,而 Datepart() 方法返回的是一个整数数值 。该方法有两个参数:
参数1:指定返回指定日期的指定部分的字符串 。可以为上图中的日期部分或者缩写 。
参数2:指定要操作的日期字符串 。
select datepart(year,\'2017-01-01 10:10:10\') -- 返回 2017select datepart(yyyy,\'2017-01-01 10:10:10\') -- 返回 2017 select datepart(month,\'2017-01-01 10:10:10\') -- 返回 1select datepart(mm,\'2017-01-01 10:10:10\') -- 返回 1 select datepart(quarter,\'2017-05-02 10:10:10\') -- 表示一年的第几个季度 返回 2select datepart(weekday,\'2017-02-02 10:10:10\') -- 表示一周的星期几,即一周的第几天,星期日为一周的第一天 返回 5select datepart(week,\'2017-02-02 10:10:10\') -- 表示一年的第几周 返回 5select datepart(dayofyear,\'2017-02-02 10:10:10\') -- 表示一年的第几天 返回 33 select datepart(hh,\'2017-01-01 10:30:25\') -- 返回 1028、Coalesce():返回所有参数中的第一个非空(not null)表达式 。该方法最多可以有 n 个参数,但是最少要有两个参数 。