`
shinfocom
  • 浏览: 1188453 次
文章分类
社区版块
存档分类
最新评论

表值函数和标量值函数

 
阅读更多

Sql server 的表值函数是返回一个Table类型,table类型相当与一张存储在内存中的一张虚拟表。
实现表值函数很简单:
下面是一个不带输入参数的表值函数

create function tvpoints()
returns table
as
return
(
select * from tb_users
);
这个表值函数数查询所有用户表的数据

对于多语句表值函数,在 BEGIN...END 语句块中定义的函数体包含一系列 Transact-SQL 语句,这些语句可生成行并将其插入将返回的表中。

以下示例创建了一个表值函数.

create function tvpoints()
returns @points table (x float, y float)
as begin
insert @points values(1,2);
insert @points values(3,4);
return;
end

查询表值函数跟查询普通表一样
select * from tvpoints()
返回的是一张表

带输入参数的表值函数

create function tvpoints2(@x AS int,@y as int)
returns @points table (x float, y float)
as begin
insert @points values(@x,@y);
return;
end

SQL_标量值函数
2009-03-02 20:47


SQL NOW() 函数取得当日的数据

在NOW ( )函数返回当前系统日期和时间。



SQL 标量函数----->日期函数 day() 、month()、year()、DATEADD()、ATEDIFF()、DATENAME()、DATEPART() GETDATE()



执行实例(表:life_unite_product 有createtime时间字段)


select day(createtime) from life_unite_product --取时间字段的天值

select month(createtime) from life_unite_product --取时间字段的月值

select year(createtime) from life_unite_product --取时间字段的年值



select datepart(yy,createtime) from life_unite_product --取时间字段的年值

select datepart(qq,createtime) from life_unite_product --取时间字段的季度值

select datepart(mm,createtime) from life_unite_product --取时间字段的月值

select datepart(dy,createtime) from life_unite_product --取时间字段是那年的第几天

select datepart(dd,createtime) from life_unite_product --取时间字段的天值

select datepart(wk,createtime) from life_unite_product --取时间字段是那年的第几个星期

select datepart(dw,createtime) from life_unite_product
--取时间字段是那年的那个星期的第几个工作日(工作日从星期日开算)

select datepart(hh,createtime) from life_unite_product --取时间字段的小时值

select datepart(mi,createtime) from life_unite_product --取时间字段的分钟值

select datepart(ss,createtime) from life_unite_product --取时间字段的秒值

select datepart(ms,createtime) from life_unite_product --取时间字段的毫秒值



select dateadd(yy,-1,createtime) from life_unite_product ----取时间字段(年份被减1了)

select dateadd(mm,3,createtime) from life_unite_product ----取时间字段(月份被加3了)

select dateadd(dd,1,createtime) from life_unite_product ----取时间字段(日被加1了)



select DATEDIFF(yy,createtime,getdate()) from life_unite_product --与当前日期的年份差

select DATEDIFF(mm,createtime,getdate()) from life_unite_product --与当前日期的月份差

select DATEDIFF(dd,createtime,getdate()) from life_unite_product --与当前日期的日数差

select DATEDIFF(mi,createtime,getdate()) from life_unite_product --与当前日期的分钟数差



select datename(yy,createtime) from life_unite_product --取时间字段的年值

select datename(mm,createtime) from life_unite_product --取时间字段的月值

select datename(dd,createtime) from life_unite_product --取时间字段的天值



select getdate() --取当前时间







日期函数

1、day(date_expression)

返回date_expression中的日期值



2、month(date_expression)

返回date_expression中的月份值



3、year(date_expression)

返回date_expression中的年份值



4、DATEADD()

DATEADD (, , )

返回指定日期date 加上指定的额外日期间隔number 产生的新日期。参数“datepart” 取值如下:



5、DATEDIFF()

DATEDIFF (, , )
返回两个指定日期在datepart 方面的不同之处,即date2 超过date1的差距值,其结果值是一个带有正负号的整数值。



6、DATENAME()

DATENAME (, )
以字符串的形式返回日期的指定部分此部分。由datepart 来指定。



7、DATEPART()

DATEPART ( datepart , date )

以整数值的形式返回日期的指定部分。此部分由datepart 来指定。

DATEPART (dd, date) 等同于DAY (date)

DATEPART (mm, date) 等同于MONTH (date)

DATEPART (yy, date) 等同于YEAR (date)



下表列出了 datepart 选项以及 SQL Server Compact Edition 所识别的缩写:

日期部分 缩写
年份 yy、yyyy

季度 qq、q

月份 mm、m

每年的某一日 dy、y

日期 dd、d

星期 wk、ww

工作日* dw

小时 hh

分钟 mi、n

秒 ss、s

毫秒 ms





8、GETDATE()
以DATETIME 的缺省格式返回系统当前的日期和时间





日期函数用来操作DATETIME 和SMALLDATETIME 类型的数据,执行算术运算。与其它函数一样,可以在Select 语句的Select
和Where
子句以及表达式中使用日期函数。其使用方法如下:
日期函数参数,其中参数个数应不同的函数而不同。

·DAY()
DAY() 函数语法如下:
DAY (<date_expression>)
DAY() 函数返回date_expression 中的日期值。

·MONTH()
MONTH() 函数语法如下:
MONTH (<date_expression>)
MONTH() 函数返回date_expression 中的月份值。
与DAY() 函数不同的是,MONTH() 函数的参数为整数时,一律返回整数值1,即SQL Server 认为其是1900 年1 月。

·YEAR()
YEAR() 函数语法如下:
YEAR (<date_expression>)
YEAR() 函数返回date_expression 中的年份值。
提醒:在使用日期函数时,其日期值应在1753年到9999年之间,这是SQL Server系统所能识别的日期范围,否则会出现错误。

·DATEADD()
DATEADD() 函数语法如下:
DATEADD (<datepart>, <number>, <date>)
DATEADD() 函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期。参数“datepart”
在日期函数中经常被使用,它用来指定构成日期类型数据的各组件,如年、季、月、日、星期等。其取值如表4-9 所示:

·DATEDIFF()
DATEDIFF() 函数语法如下:
DATEDIFF() (<datepart>, <date1>, <date2>)
DATEDIFF() 函数返回两个指定日期在datepart 方面的不同之处,即date2
超过date1的差距值,其结果值是一个带有正负号的整数值。针对不同的datepart,
DATEDIFF()函数所允许的最大差距值不一样,如:datepart 为second 时,DATEDIFF() 函数所允许的最大差距值为68:
年datepart 为millisecond 时,DATEDIFF()
函数所允许的最大差距值为24 天20 小时30 分23 秒647 毫秒。

·DATENAME()
DATENAME() 函数语法如下:
DATENAME (<datepart>, <date)>
DATENAME() 函数以字符串的形式返回日期的指定部分此部分。由datepart 来指定。

·DATEPART()
DATEPART() 函数语法如下:
DATEPART (<datepart>, <date>)
DATEPART() 函数以整数值的形式返回日期的指定部分。此部分由datepart 来指定。
DATEPART (dd, date) 等同于DAY (date)
DATEPART (mm, date) 等同于MONTH (date)
DATEPART (yy, date) 等同于YEAR (date)

·GETDATE()
GETDATE() 函数语法如下:
GETDATE()
GETDATE() 函数以DATETIME 的缺省格式返回系统当前的日期和时间,它常作为其它函数或命令的参数使用。

分享到:
评论

相关推荐

    sql函数集合 标量函数

    sql函数,当中包含大量的sql语句实用的函数,包你在写sql是更加灵活方便,加经济实惠

    多语句表值函数.doc

    多语句表值函数也称为多声明表值型函数,可以看作标量型和内联表值型函数的结合体。

    db2函数大全聚集函数标量函数

    db2函数大全 函数大全 聚集函数 标量函数 分组函数 平均差值函数 方差函数

    基于matlab实现此函数使用标量衍射限制模型为宽场显微镜生成点扩展函数

    基于matlab实现此函数使用标量衍射限制模型为宽场显微镜生成点扩展函数(Stokseth 参考下面的 [1] 和 [3]).rar

    CFT中的标量三点函数:重新归一化,β函数和异常

    我们在一般尺寸的共形场理论中对标量算子的三点函数的再正规化进行了全面的讨论。 先前我们已经证明,保形对称性根据涉及三个贝塞尔函数(三倍K积分)的乘积的某些积分唯一确定动量空间三点函数。 当算子的尺寸满足...

    sql server 自定义函数

    用户自定义函数 ...标量函数:返回单个数据值。 表值函数:返回值是一个记录集合--表。在此函数中,return语 句包含一条单独的select语句。 多语句表值函数:返回值是由选择的结果构成的记录集。

    轻标量介子和二元相关函数

    结果表明,有关Pb-Pb相互作用的KS0K +相关性的最新数据与γγ→ηπ0和ϕ→ηπ0γ反应的数据一致,并支持a0(980)介子的四夸克模型。 结果表明,该数据与高斯假设的有效性并不矛盾。 在提高实验和理论描述的准确性...

    SQL 标量函数----->日期函数 day() 、month()、year()、DATEADD()、ATEDIFF()、DATENAME()、DATEPART() GETDATE()

    SQL 标量函数-----&gt;日期函数 day() 、month()、year()、DATEADD()、ATEDIFF()、DATENAME()、DATEPART() GETDATE()

    sqlserver中的自定义函数的方法小结

    自定义函数分为:标量值函数或表值函数 如果 RETURNS 子句指定一种标量数据类型,则函数为标量值函数。可以使用多条 Transact-SQL 语句定义标量值函数。 如果 RETURNS 子句指定 TABLE,则函数为表值函数。 表值函数...

    Sqlserver 自定义函数 Function使用介绍

    主要介绍了Sqlserver 自定义函数 Function使用介绍,在sqlserver2008中有3中自定义函数:标量函数/内联表值函数/多语句表值函数,需要的朋友可以参考下

    《数据库原理与应用》(第三版)第12章 函数和游标 基础 习题参考答案

    答:标量函数、内联表值函数、多语句表值函数。 标量函数的函数体是可以是一系列SQL语句,返回值是一个标量值; 内联表值函数的函数体的一条查询语句,返回值是查询语句的执行结果(表); 多语句表值函数的函数体是...

    标量,电流和应力张量的规范化CFT三点函数

    我们讨论了一般维的共形场理论中涉及张量和标量算子的混合三点函数的重整化。 在先前的工作中,我们分析了纯标量或纯张量算符的相关因子,在每种情况下都发现了新特征和新并发症:对于标量相关因子,重新归一化导致...

    q 函数:用于计算标量和向量输入的 q 函数的函数-matlab开发

    这是一个简单的 m 代码文件,接受标量和向量作为输入。 如何使用它使用非常简单直接。 只需下载文件并将其保存到与您的文件相同的文件夹中。 然后通过调用函数 q(x),其中 x 是积分极限,你可以得到 q 函数的值。 ...

    通货膨胀时纠缠的标量和张量波动

    我们展示了纠缠标量和张量波动的膨胀状态的选择如何影响宇宙微波背景的T,E和B模式的角两点相关函数。 精确求解了从某个一般的二次纠缠开始的状态的传播子,从而预测了原始标量-标量,张量-张量和标量-张量功率谱。 ...

    QCD和规则对向量介子和标量介子的混合

    通过计算矢量q-$$ \ overline {q} $$γμq(标量q \ $$ \ overline {q} $$ q)电流和混合(胶球)电流的两点相关函数 我们能够估计耦合到两个电流的相应混合“物理状态”的质量和衰减常数。 我们的结果不支持针对1 ...

    具有高斯-帽子和非最小耦合的标量-张量模型的动力学分析

    考虑了耦合函数和标量势的两种函数形式:标量场的幂律和指数函数。 对于指数函数,稳定的典型,幻影或de Sitter解的存在允许有效牛顿耦合变为恒定的渐近行为。 幻象解决方案可以在不影响幻影自由度的情况下实现。 ...

    AdS / dCFT的标量一点函数和矩阵乘积状态

    我们以闭合形式确定缺陷CFT的所有标量单点函数对偶的D3-D5探针皮层系统,其k个通量单位等于计算可积SO(6)自旋链的Bethe本征态与 键维为k的某个矩阵乘积状态。 特别地,我们表明,自旋链的所有奇偶奇电荷都消除了...

    标量量子场论中的光谱,统计和顶点函数远非平衡

    我们从过度占用的初始条件开始,计算3 + 1时空维度中相对论标量量子场的远离平衡... 基于场分量数目自洽扩展到次要顺序,分析了广泛的相互作用强度,并将其与有效动力学理论和经典统计场论中的弱耦合估计值进行了比较。

    FindStrInProgram.txt

    任何在存储过程、表值函数 或标量值函数出现过的字符串都可以查询,返回该过程的过程名,函数的函数名称,快速定位代码的位置。

    SQl 函数说明大全

    2.配置函数 是一种标量函数,可返回有关配置设置的信息。 3.转换函数 将值从一种数据类型转换为另一种。 4.加密函数 支持加密、解密、数字签名和数字签名验证。 5.游标函数 返回有关游标状态的信息。 6.日期和时间...

Global site tag (gtag.js) - Google Analytics