
创建函数(SQL窗口)
create or replace function get_stu_grade(stu_grade number) return number as
begin
declare standard_grade number
begin
standard_grade:=stu_grade - 60
if standard_grade <0 then
return 0
end if
return 1
end
end get_stu_grade
Oracle数据库 *** 作时如何使用LOWER()、UPPER()函数
Oracle LOWER() 和 UPPER()函数的使用方法一列返回行不区分大小写这是常见的做法,使列不区分大小写,以确保您所希望返回所有行。SELECT *FROM COURSESWHERE LOWER(education_delivery_method) = 'classroom' 您可以使用Oracle的UPPER() or LOWER() 函数来在你的SQL选择格式列SELECTUPPER(FIRSTNAME) AS "FIRSTNAME",LASTNAMEFROM STUDENTSWHERE RowNum <11 格式一列使用上下功能它可以使用与串()一起下的Oracle UPPER() or LOWER()函数函数来完成不同类型的格式。 SELECTUPPER(SUBSTR(LASTNAME,1,1)) || LOWER(SUBSTR(LASTNAME,2,29))FROM STUDENTSWHERE RowNum <11更新一组行的变化情况它可以使用一个更新语句Oracle的 UPPER() or LOWER()函数一起使用,以改变“案“的一组行。 UPDATE STUDENTSSET LASTNAME = UPPER(LASTNAME)
数据库中的 NVL() 方法怎么用 ?
nvl(字段名,'判断字段如果为空的话这里填你想要替换的值')
nvl(字段,'NA')
意思如果字段为空则输出NA的字符串
数据库,用month()函数,怎样表达?
sql视图的话这样
select * from 学生 where month(出生年月)=9
设计视图的话这样,表名你不用管,那是我自己的表名
SQL中如何调用一个函数啊
可以为函数的参数指定一个字符串
比如
SELECT [dbo].[w_GetProdColor]('test')
也可以用字段作为参数,其实跟系统函数用法是一样的
SELECT [dbo].[w_GetProdColor](列名)
FROM 表名
SQL中的CONVERT函数的用法是什么? 15分
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID Style 格式
100 或者 0 mon dd yyyy hh:miAM (或者 PM)
101 mm/dd/yy
102 yy.mm.dd
103 dd/mm/yy
104 dd.mm.yy
105 dd-mm-yy
106 dd mon yy
107 Mon dd, yy
108 hh:mm:ss
109 或者 9 mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110 mm-dd-yy
111 yy/mm/dd
112 yymmdd
113 或者 13 dd mon yyyy hh:mm:ss:mmm(24h)
114 hh:mi:ss:mmm(24h)
120 或者 20 yyyy-mm-dd hh:mi:ss(24h)
121 或者 21 yyyy-mm-dd hh:mi:ss.mmm(24h)
126 yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130 dd mon yyyy hh:mi:ss:mmmAM
131 dd/mm/yy hh:mi:ss:mmmAM
实例
下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:
CONVERT(VARCHAR(19),GETDATE())CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),106)CONVERT(VARCHAR(24),GETDATE(),113)
结果类似:
本文主要主要讲解了SQL Server数据库中函数的两种用法 具体内容请参考下文
◆ 由于update里不能用存储过程 并且由于根据更新表的某些字段还要进行计算 所以很多人采用的是游标的方法 在这里我们可以用函数的方法实现
函数部分
CREATE FUNCTION [DBO] [FUN_GETTIME] (@TASKPHASEID INT)RETURNS FLOAT ASBEGINDECLARE @TASKID INT @HOUR FLOAT @PERCENT FLOAT @RETURN FLOATIF @TASKPHASEID IS NULLBEGINRETURN( )ENDSELECT @TASKID=TASKID @PERCENT=ISNULL(WORKPERCENT )/ FROM TABLETASKPHASEWHERE ID=@TASKPHASEIDSELECT @HOUR=ISNULL(TASKTIME ) FROM TABLETASKWHERE ID=@TASKIDSET @RETURN=@HOUR*@PERCENTRETURN (@RETURN)END调用函数的存储过程部分 CREATE PROCEDURE [DBO] [PROC_CALCCA]@ROID INTASBEGINDECLARE @CA FLOATUPDATE TABLEFMECASETCvalue_M= ISNULL(MODERATE )*ISNULL(FMERATE )*ISNULL(B BASFAILURERATE )*[DBO] [FUN_GETTIME](C ID)FROM TABLEFMECA TABLERELATION B TABLETASKPHASE CWHERE ROID=@ROID AND TASKPHASEID=C ID AND B ID=@ROIDSELECT @CA=SUM(ISNULL(Cvalue_M )) FROM TABLEFMECA WHERE ROID=@ROIDUPDATE TABLERELATIONSET CRITICALITY=@CAWHERE ID=@ROIDENDGO
◆ 我们要根据某表的某些记录 先计算后求和 因为无法存储中间值 平时我们也用游标的方法进行计算 但SQL Server 里支持
SUM ( [ ALL DISTINCT ] eXPression )expression
是常量 列或函数 或者是算术 按位与字符串等运算符的任意组合 因此我们可以利用这一功能
函数部分
lishixinzhi/Article/program/SQLServer/201311/22423
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)