大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MID() 函数
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站设计、友谊网络推广、成都小程序开发、友谊网络营销、友谊企业策划、友谊品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供友谊建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
MID() 函数用于从文本字段中提取字符。
具体语法参考:
注意事项如下:
-from 树懒学堂
实例
下面的 SQL 语句从 “Websites” 表的 “name” 列中提取前 4 个字符:
自定义函数分为:标量值函数或表值函数
如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可以使用多条 Transact-SQL 语句定义标量值函数。
如果 RETURNS 子句指定 TABLE,则函数为表值函数。
表值函数又可分为:内嵌表值函数(行内函数)或多语句函数
如果 RETURNS 子句指定的 TABLE 不附带列的列表,则该函数为内嵌表值函数。
如果 RETURNS 子句指定的 TABLE 类型带有列及其数据类型,则该函数是多语句表值函数。
DATEADD
在向指定日期加上一段时间的基础上,返回新的 datetime 值。
语法
DATEADD ( datepart , number, date )
DATEDIFF
返回跨两个指定日期的日期和时间边界数。
语法
DATEDIFF ( datepart , startdate , enddate )
DATEPART
返回代表指定日期的指定日期部分的整数。
语法
DATEPART ( datepart , date )
DATENAME
返回代表指定日期的指定日期部分的字符串。
语法
DATENAME ( datepart , date )
比较 DATEADD 和 DATEDIFF
DATEADD 函数向指定日期添加一段时间间隔。例如,如果 titles 表中所有书籍的发行日期都推迟三天,则可使用以下语句获得新的发行日期:
USE pubs
SELECT DATEADD(day, 3, pubdate)
FROM titles
如果日期参数的数据类型是 smalldatetime,则结果的数据类型也是 smalldatetime。可以使用 DATEADD 对 smalldatetime 值添加秒或毫秒,但只有当 DATEADD 返回的结果日期至少改变了 1 分钟时,这样做才有意义。
DATEDIFF 函数计算指定的两个日期中第二个日期与第一个日期之间各日期部分相差的时间量。换句话说,它得出两个日期之间的间隔。结果是等于 date2 - date1 的带符号整数值,以各日期部分为单位。
下面的查询使用日期 1995 年 11 月 30 日,并得出 pubdate 和该日期之间相差的天数。
USE pubs
SELECT DATEDIFF(day, pubdate, 'Nov 30 1995')
FROM titles
对于 titles 中 pubdate 为 1995 年 10 月 21 日的行,上述查询生成的结果为 40。(10 月 21 日和 11 月 30 日之间相差 40 天。)要计算以月为单位的间隔,请使用以下查询:
USE pubs
SELECT interval = DATEDIFF(month, pubdate, 'Nov 30 1995')
FROM titles
该查询对 pubdate 值在 10 月的行生成的值为 1,对 pubdate 值在 6 月的行生成的值为 5。
若 DATEDIFF 函数中的第一个日期晚于指定的第二个日期,则产生的结果为负数。由于 titles 中有两行使用 GETDATE 函数指派 pubdate 的值,所以这些值被设置为 pubs 数据库的创建日期,这样在前面的两个查询中这两行返回负数。
如果一个或两个日期参数是 smalldatetime 值,它们将在内部转换为 datetime 值进行计算。为了进行计算,smalldatetime 值中的秒和毫秒将自动设置为 0。
比较 DATEPART 和 DATENAME
DATEPART 和 DATENAME 函数将 datetime 值的指定部分(年、季度、天、小时等)生成为整数值或 ASCII 字符串。由于 smalldatetime 只能精确到分钟,所以在这两个函数中使用 smalldatetime 值时,返回的秒和毫秒部分总是为零。
下面的示例假定日期为 5 月 29 日:
SELECT DATEPART(month, GETDATE())
下面是结果集:
------------
5
(1 row(s) affected)
SELECT DATENAME(month, GETDATE())
下面是结果集:
------------
May
(1 row(s) affected)
具体可以参考SQL Server联机丛书(安装SQLServer时自动的帮助)
创建自定义函数:
use 数据库名
go
create function 函数名
(@pno int)
returns int
as
begin
declare @a int
if not exists(select * from person where pno=@pno)
set @a=-1
else
set @a=1
return @a
end
调用函数:
use 数据库名
go
select dbo.函数名(13250)
SQL
中的
substring
函数是用来抓出一个栏位
资料
中的其中一部分。这个函数的
名称
在不同的
资料库
中不完全一样:
MySQL:
SUBSTR(
),
SUBSTRING(
)
Oracle:
SUBSTR(
)
SQL
Server:
SUBSTRING(
)
SQL
中的
substring
函数是用来截取一个栏位资料中的其中一部分。
例如,我们需要将
字符串
'abdcsef'中的‘abd'给提取出来,则可用substring
来实现:
select
substring('abdcsef',1,3)
结果:
'abd'
括号中数字‘1'表示截取的起始位置是从该字符串第一个字符开始,‘3'表示截取后得到的字符串
长度
为3个字符。
这是‘substring'最基础的
语法
,当然,我们的需求有时候会变得比较复杂,例如以下例子:
我们只想要得到'roomno'中的房间号,发现起始字符位置并不是固定的,而且,我们需要的房间号长度也不固定。
此时,我们可以运用‘charindex'这个函数就可以轻松搞定,它是用来定位某个特定字符在该字符串中的位置,即该函数
得到的结果是一个用来表示某个特定字符位置的数字。执行如下代码:
select
room_stand=substring(roomno,charindex('元',roomno)+1,charindex('室',roomno)-charindex('元',roomno)-1)
from
PROPERTY_room
where
roomno
like
'%
单元
%室%'
结果:
以上所述是小编给大家介绍的Sql
Server中Substring函数的
用法
实例
解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对
脚本之家
网站的支持!