SQL语句在DELPHI中使用约定
1、SQL语句的书写序号1.1内容表别名书写规范表名+空格+表别名例子:
SELECT*FROMZD_RYRY备注
不允许使用AS
1.2
字段别名
字段名+空格+AS+空格+字段别名
例:SELECTMCASXMFROMZD_RY
不允许使用=
例:SELECTXM=MCFROMZD_RY
1.3
SELECT*使用
若SELECT语句加入非FORM表中的字段,则*前必须加表别名
例:SELECTRY.*,SPACE(1)ASSFROMZD_RYRY
1.4
不可以使用select语句直接返回表中不存在数据(函数)如:selectspace(2)asb,space(10)asc或selectgetdate()
1.5
不可以使用TOP子句限制返回到结果集中的行数。如:selecttop1*fromzd_ry
2、常用函数使用2.1字符类函数
函数名语法
备注参考:T-SQL:ASCIIPL/SQL:ASCII参考:T-SQL:CharPL/SQL:Chr参考:T-SQL:Len
字符类函数
AF_ASCIIAF_ASCII(AChar)
返回字符表达式最左端字符的ASCII代码值。
AF_Char
参数:字符表达式返回类型:int
AF_Char(AInt)
将intASCII代码转换为字符的字符串函数。AF_ASCII的逆函数。
AF_Len
参数:介于0和255之间的整数。返回类型:char(1)
AF_Len(AStr)
返回给定字符串表达式的字符
参数:要计算的字符串表达式。
1
(而不是字节)个数,其中不包含尾随空格。
AF_Ltrim
返回类型:int
AF_Ltrim(AStr)
PL/SQL:Length参考:T-SQL:LtrimPL/SQL:Ltrim参考:T-SQL:RtrimPL/SQL:Rtrim
删除起始空格后返回字符表达式。
AF_Rtrim
参数:字符串表达式。返回类型:varchar
AF_Rtrim(AStr)
截断所有尾随空格后返回一个字符串。
AF_Trim
参数:字符串表达式。返回类型:varchar
AF_Trim(AStr)
截断所有前后空格后返回一个字符串。
AF_Upper
参数:字符串表达式。返回类型:varchar
AF_Upper(AStr)
将小写的字符串转换为大写的字符串。
AF_Lower
参数:字符串表达式。返回类型:varchar
AF_Lower(AStr)
参考:T-SQL:UpperPL/SQL:Upper参考:T-SQL:UpperPL/SQL:Upper
将大写的字符串转换为小写的字符串。
AF_SubString
参数:字符串表达式。返回类型:varchar
AF_SubString(AStr,AStart,ALength)
返回字符串的一部分。
参考:说明:T-SQL:SubStringAStr为一字符串,AStart,ALength为整数,PL/SQL:SubStr
从AStr的第AStart位开始返回长度为
ALength的子字符串,如果ALength为空,则
直到串的尾部。
AF_Stuff
AF_Stuff(AStr1,AStart,ALength,AStr2)
删除指定长度的字符并在指定的起始点插入另一组字符。
参数:AStr1字符串;AStart为整数,指定删除和插入的开始位置;ALength为整数,指定要删除的字符数;AStr2为从
AStart点插入的字符串
参考:T-SQL:StuffPL/SQL:Translate
返回类型:varchar
AF_CONCATAF_Stuff(AStr1,AStr2)
两个字符串的连接。
AF_SPACE
参数:字符串返回类型:varcharAF_Space(ALen)参数:空格个数返回类型:Char
AF_Charindex(AExp1,AExp2,AStart)
参考:T-SQL:+PL/SQL:ConCat/||参考:T-SQL:SpacePL/SQL:RPAD
返回由重复的空格组成的字符串。
AF_CHARINDEX
返回字符串中指定表达式的起始位置
参考:参数:AExp1要寻找的短字符串表达式;T-SQL:CharIndexAExp2用于搜索指定AExp1的字符串;PL/SQL:InstrbAStart为搜索的开始位置,整型)返回类型:Int
2
AF_ISNULLC
AF_ISNULLC(AChar1,AChar2)
使用指定的替换值替换字符NULL。
参数:AChar1为将被检查是否为NULL的字符表达式。Achar2为在Achar1为NULL时将返回的字符表达式。返回类型:字符
AF_ISNULLN(ANum1,ANum2)
参考:T-SQL:ISNULLPL/SQL:NVL
AF_ISNULLN
使用指定的替换值替换数值NULL。
参数:ANum1为将被检查是否为NULL的数值表达式。ANum2为在ANum1为NULL时将返回的数值表达式。返回类型:数值
AF_ISNULLD(ADate1,ADate2)
参考:T-SQL:ISNULLPL/SQL:NVL
AF_ISNULLD
使用指定的替换值替换日期NULL。
参数:ADate1为将被检查是否为NULL的日期表达式。ADate2为在ADate1为NULL时将返回的日期表达式。返回类型:日期
参考:T-SQL:ISNULLPL/SQL:NVL
2.2日期类函数日期类函数
GetDate()GetDate()
返回当前系统日期和时间。
AF_DATEDIFF
返回类型:日期
AF_DATADIFF(Adatepart,ADATE1,ADATE2)
参考:T-SQL:GetDate()PL/SQL:SysDate
返回两个指定日期间隔的天数/月数/年数
参考:参数:Adatepart规定为‘DAY’、‘MONTH’T-SQL:DATEDIFF,‘YEAR’;ADATE1计算的开始日期;PL/SQL:TRUNC、Months_BetweenADATE2计算的终止日期。返回类型:INT
Adatepart=‘DAY’返回间隔的天数;Adatepart=‘MONTH’返回间隔的月数;Adatepart=‘YEAR’返回间隔的年数。
AF_DATEADD
在向指定日期加上一段时间的基础上,返回新的日期值。
参考:参数:Adatepart规定为‘DAY’、‘MONTH’T-SQL:DATEDAdd,‘YEAR’;ADATE是基础日期;AInt是用来PL/SQL:TRUNC、增加Adatepart的值,分别是天数、月份ADD_MONTHS数,年份数,可以是负数。返回类型:日期型
AF_DATE(Adatepart,AInt,ADATE)
3
2.3数学类函数数学类函数
AF_BITANDAF_BITAND(AExp1,AExp2)
在两个整型值之间执行按位逻辑与运算。
AF_BITOR
返回类型:Int
参考:T-SQL:&;操作符PL/SQL:BITAND参考:T-SQL:|操作符PL/SQL:参考:T-SQL:PL/SQL:
AF_BITOR(AExp1,AExp2)
在两个整型值之间执行按位逻辑或运算。
AF_BITVAL
返回类型:Int
AF_BITVAL(ADEC,ABITNum)
返回整数的第几位数数值,或01。
AF_SHL
参数:ADEC要检测的十进制数值
ABITNum第几位数
返回类型:0或1
AF_SHL(ADEC,ANum)
左移位
参数:ADEC要移位的十进制数值
ANum向左移位数
返回类型:int
AF_SHRAF_SHR(ADEC,ANum)
右移位
参数:ADEC要移位的十进制数值
ANum向右移位数
返回类型:int
AF_MOD
返回两整数相除后的余数。
参考:参数:AExp1被除数表达式(结果为整型)T-SQL:%AExp2除数表达式(结果为整型)PL/SQL:MOD返回类型:Int
AF_MOD(AExp1,AExp2)AF_ABS(AExp)
AF_ABS
返回给定数字表达式的绝对值。参数:AExp数值表达式返回类型:数值型
AF_CeilingAF_Ceiling(AExp)
参考:T-SQL:ABSPL/SQL:ABS参考:T-SQL:CeilingPL/SQL:Ceil参考:T-SQL:ExpPL/SQL:Exp参考:T-SQL:FloorPL/SQL:Floor
返回大于或等于所给数字表达式的最小整数。
AF_Exp
参数:AExp数值表达式返回类型:int
AF_Exp(AExp)
返回e的n次幂,e=2.71828183
参数:AExp数值表达式返回类型:数值型
AF_Floor(AExp)
AF_Floor
返回小于或等于所给数字表达式的最大整数。
参数:AExp数值表达式返回类型:int
4
AF_Power
AF_Power(AExp,AInt)
返回给定表达式乘指定次方的值。
AF_Round
参数:AExp数值表达式,AInt为AExp的次
方
参考:T-SQL:PowerPL/SQL:Power参考:T-SQL:RoundPL/SQL:Round
返回类型:数值型
AF_Round(AExp,AInt)
返回数字表达式并四舍五入为指定的长度或精度。
参数:AExp数值表达式,AInt为AExp的四舍五入的精度。当AInt为正数时,AExp四舍五入为Aint所指定的小数位数。当AInt为负数时,AExp则按AInt所指定的在小数点的左边四舍五入。返回类型:数值型
AF_Sign(AExp)说明:如果AExp为负数,返回-1,如果AExp
AF_Sign
返回给定表达式的正(+1)、零(0)或负(-1)号。
AF_Sqrt
为正数,返回1,如果AExp=0返回0.
AF_Sqrt(AExp)
参考:T-SQL:SignPL/SQL:Sign参考:T-SQL:SqrtPL/SQL:Sqrt
返回给定表达式的平方根。
AF_HexToDec
返回类型:数值型
AF_HexToDec(AChar)
十六进制转换成十进制数。
AF_DecToHex
参考:参数:字符型,0-9、A-F的范围的字符。T-SQL:数值表示法在0X返回类型:intPL/SQL:
AF_DecToHex(AInt)参数:int,要转换的十进制数
十进制转换成十六进制数。
AF_BinToDec
返回类型:varchar(十六进制字符串)
AF_BinToDex(AChar)参数:二进制字符串,只能允许是1、0字符。
二进制转换成十进制数。
返回类型:int例:AF_BinToDex(‘100101’)2.4转换类函数转换类函数
AF_StrToIntAF_StrToInt(AChar)参数:AChar要转换的字符串转换不成功时则默认值为0
将字符串转换成整型。
参考:T-SQL:ConvertPL/SQL:To_number
返回类型:int
AF_StrToCurrAF_StrToCurr(AChar)参数:AChar要转换的字符串转换不成功时则默认值0.0000
将字符串转换成货币型。
参考:T-SQL:ConvertPL/SQL:To_number
返回类型:有精度的数值型
AF_StrToNumAF_StrToNum(AChar)
参考:
5
将字符串转换成数值型。
参数:AChar要转换的字符串;
返回类型:数值型
AF_StrToDateAF_StrToDate(AChar)参数:AChar要转换的字符串(格式规定YYYY.MM.DD)
T-SQL:ConvertPL/SQL:To_number参考:T-SQL:ConvertPL/SQL:To_date
将字符串转换成日期型。
返回类型:日期型
AF_IntToStrAF_IntToStr(AInt)参数:AInt要转换的数值;
将整型转换成字符型。
返回类型:字符型
AF_NumToStrAF_NumToStr(ANum)参数:ANum要转换的数值;
参考:T-SQL:ConvertPL/SQL:To_Char参考:T-SQL:ConvertPL/SQL:To_Char参考:T-SQL:ConvertPL/SQL:To_Char
将数值型转换成字符型。
返回类型:字符型
AF_DateTimeToStrAF_DateTimeToStr(ADate)参数:ADate要转换的日期型
将日期型转换成日期+时间格式的字符串。
返回类型:字符串格式为YYYY.MM.DDHH:MM:SS
AF_DateToStr(ADate)参数:ADate要转换的日期型
AF_DateToStr
将日期型转换成日期格式的字符串。
返回类型:字符串格式为YYYY.MM.DD
AF_TimeToStr(ADate)参数:ADate要转换的日期型
参考:T-SQL:ConvertPL/SQL:To_Char
AF_TimeToStr
将日期型转换成时间格式的字符串。
返回类型:字符串格式为HH:MM:SS
AF_NumToCurr(ANum)参数:ANum要转换的数值
参考:T-SQL:ConvertPL/SQL:To_Char
AF_NumToCurr
将数值类型转换成货币型。
返回类型:货币型数据
参考:T-SQL:ConvertPL/SQL:
2.5其他函数其他函数
6
3、其他使用序号3.1内容Case使用规范使用
以MSSQL的CASE语句为标准,并且不能使用嵌套的CASE语句。如果使用ORACLE数据库,引擎会自动翻译为DECODE语句。备注
3.2
自动增长字段
对于以往在SQLSERVER中使用自动增长字段(identity)的,统一规范如下:方法一1、去掉建表语句中有关ID列的identity声明;2、ID列通过GETID取值。方法二1、保留原MSSQL中identity列的使用;2、ORACLE中对这些列通过创建序列(SEQUENCE)及对该表创建前触发器实现相同效果的自动取值。
7