学习sqlserver的朋友可以参考一下。掌握这些函数可以很容易地处理字段的字符。
只有sql函数可用于操作select语句中的字段(链接到sql server)。从表1中选择字段1,其中字段1。index of(' cloud ')=1;这种说法之所以错误,是因为indexof()函数不是sql函数,把它改成sql的对应函数就可以了。Left()是一个sql函数。从表1中选择字段1,其中charindex ('cloud ',字段1)=1;
字符串函数对二进制数据、字符串和表达式执行不同的操作。此类函数处理CHAR、VARCHAR、BINARY和VARBINARY数据类型以及可以隐式转换为CHAR或VARCHAR的数据类型。可以在SELECT和WHERE子句以及SELECT语句的表达式中使用字符串函数。常用的字符串函数有:
一、字符转换函数1,ASCII()返回字符表达式中最左边字符的ASCII码值。在ASCII()函数中,纯数字字符串可以不带'',但包含其他字符的字符串必须带'',否则会出错。2.CHAR()将ASCII码转换成字符。如果没有输入0到255之间的ASCII码值,CHAR()返回NULL。3.LOWER()和UPPER()LOWER()将所有字符串变为小写;UPPER()将所有字符串转换为大写。4.STR()将数字数据转换成字符数据。STR (float_expression[,length[,decimal]])length指定返回字符串的长度,decimal指定返回的小数位数。如果没有指定长度,length的默认值为10,decimal的默认值为0。当length或decimal为负时,返回NULL;当长度小于小数点左边的位数(包括符号位)时,返回length *;先服从长度,再取小数;当返回的字符串的位数小于长度时,左边用空格填充。二、去空格函数1,LTRIM()删除字符串开头的空格。
2.RTRIM()删除字符串末尾的空格。
三、取子串函数1,left()left(character _ expression,integer_expression)从左侧返回character _ expression integer _ expression字符。
2,right()right(character _ expression,integer_expression)从右侧返回character _ expression integer _ expression字符。
3.substring()substring(expression,starting_ position,length)返回从字符串左侧的starting_ position字符开始的部分长度字符。
四、字符串比较函数1,CHARINDEX()返回指定子串在字符串中的起始位置。char index(' substring _expression ',expression)其中substring _ expression是要查找的字符表达式,expression可以是字符串或列名表达式。如果找不到子字符串,则返回值0。该函数不能用于文本和图像数据类型。2.PATINDEX()返回指定子串在字符串中的起始位置。PATIndex(' % substring _ expression % ',column_ name),其中子字符串表达式的前后必须有百分号“%”,否则返回值为0。与CHARINDEX函数不同,在PATINDEX函数的子串中可以使用通配符,该函数可以用于CHAR、VARCHAR和TEXT数据类型。
五、字符串操作函数1.QUOTENAME()返回由特定字符括起来的字符串。quote name(' character _ expression '[,quote_ character]),其中quote_ character表示括起来的字符串中使用的字符,默认值为“[]”。2.REPLICATE()返回将character_expression重复指定次数的字符串。如果integer_expression值为负,replicate(character _ expression integer _ expression)将返回NULL。
3.REVERSE()反转指定字符串的字符顺序。REVERSE (character_expression)其中character_expression可以是字符串、常量或列值。
4.REPLACE()返回指定子字符串被替换的字符串。REPLACE (string_expression1,string_expression2,string_expression3)用string_expression3替换string_expression1中的子字符串string_expression2。
4.SPACE()返回指定长度的空字符串。如果integer_expression值为负,SPACE (integer_expression)将返回NULL。
5.STUFF()用另一个子串替换字符串的指定位置和长度的子串。如果起始位置为负或长度值为负,或者起始位置大于character_expression1的长度,则STUFF (character_expression1,start_ position,length,character_expression2)将返回空值。如果长度大于character_expression1中start_ position右侧的长度,character_expression1只保留第一个字符。六、数据类型转换函数1、CAST()CAST(表达式为data_ type[ length ])
2、CONVERT()CONVERT(数据类型[长度],表达式[,样式])
1)data_type是SQL Server系统定义的数据类型,这里不能使用自定义数据类型。2)length用于指定数据的长度。默认值为30。3)将CHAR或VARCHAR类型转换为int或SAMLLINT等整数类型,结果必须是带正负号的数值。4)从4)TEXT类型到CHAR或VARCHAR类型的转换最多可以有8000个字符,也就是CHAR或VARCHAR数据类型是最大长度。5)5)IMAGE type存储的数据转换为BINARY或VARBINARY类型,最多8000个字符。6)将整数值转换为MONEY或SMALLMONEY类型,并根据定义国家的货币单位进行处理,如人民币、美元和英镑。7)位类型的转换将非零值转换为1,仍然存储为位类型。8)如果您尝试转换为不同长度的数据类型,转换后的值将被截断,并且在转换后的值后会显示“”,以指示此截断已经发生。9)使用CONVERT()函数的样式选项可以用不同的格式显示日期和时间。Style是SQL Server系统在将DATATIME和SMALLDATETIME数据转换为字符串时提供的转换样式号。不同的样式号有不同的输出格式。010-59001,day(date_expression)返回date_expression中的日期值。
七、日期函数返回date_expression中的月份值。
2、month(date_expression)返回date_expression中的年份值。
3、year(date_expression)DATEADD (datepart,number,date)返回由指定日期加上指定的额外日期间隔数生成的新日期。4、DATEADD()DATEDIFF (datepart,date1,date2)以datepart形式返回两个指定日期之间的差值,即date2和date1之间的差值,所得值为有符号整数值。
5、DATEDIFF()DATENAME (datepart,date)以字符串形式返回日期的指定部分。由datepart指定。
6、DATENAME()DATEPART (datepart,date)以整数值形式返回日期的指定部分。该部分由datepart指定。DATEPART (dd,date)相当于日(date),datepart (mm,date)相当于月(date)DATEPART (yy (YY,date)相当于年(date)
7、DATEPART()以默认的日期时间格式返回系统的当前日期和时间。
8、GETDATE()1) count (*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式中值的总和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的总和5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中值的平均值6)AVG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式中值的最小值8)MAX(COLNAME/EXPRESSION)返回
内部合计函数1、内部聚合函数1)COUNT(*)返回行数2)COUNT(DISTINCT COLNAME)返回指定列中唯一值的个数3)SUM(COLNAME/EXPRESSION)返回指定列或表达式的值之和;4)SUM(DISTINCT COLNAME)返回指定列中唯一值的总和5)AVG(COLNAME/EXPRESSION)返回指定列或表达式中值的平均值6)AVG(DISTINCT COLNAME)返回指定列中唯一值的平均值7)MIN(COLNAME/EXPRESSION)返回指定列或表达式的最小值8)MAX(COLNAME/EXPRESSION)返回指定列或表达式的最大值一、内部函数1)Day(DATE/DATETIME EXPRESSION)返回指定表达式中的月份日期2) 返回指定表达式中的月份3)YEAR(DATE/DATETIME表达式)返回指定表达式中的年份4)WEEKDAY(DATE/DATETIME表达式)返回指定表达式中的星期几5)DATE(非DATE表达式)返回指定表达式表示的日期值6)TODAY返回当前日期的日期值7)CURRENT[FIRST TO LAST]返回当前日期的日期时间值8)COLNAME/EXPRESSION UNITS PRECISION返回指定精度的指定单位数9)MDY(MONTH,DAY, YEAR)返回标识指定年、月和日的日期值10) datetime(日期/日期时间表达式)first to last返回由表达式表示的日期时间值11)INTERVAL(日期/日期时间表达式)FIRST TO LAST返回由表达式表示的时间间隔值12) extend(日期/日期时间表达式,[FIRST TO LAST])返回调整后的日期或日期时间值。 To_char函数将日期时间和日期值转换为字符值。To_date函数将字符值转换为datetime类型的值。
示例to _ date ("1978-10-07-10: 00 "," %y-%m-%d% h:% m ")示例1。与UNITS一起使用指定日期或时间单位(年、月、日、小时、分钟、首尔、分数):设tmp _ date=今天3个单位日例2、设tmp _ date=MDY(2002年10月30日)-2002年10月30日例3、设tmp _ date=今天间隔(7)天到天-当前时间加7天;注意:这个函数类似于1;4.EXTENDE转换日期或日期时间值let tmp _ int hour=EXTEND(datetime 1,hour to hour) 3。代数函数1)ABS(列名/表达式):取绝对值2)MOD(列名/表达式,除数)返回除以除数后的模数(余数)。3)POW(COLNAME/EXPRESSION,INDEX)返回一个值的指数示例:let tmp _ float=POW (2,3)-8.00000004)root(COLNAME/EXPRESSION,[INDEX])返回指定列或表达式的根值。5)SQRT(COLNAME/EXPRESSION)返回指定列或表达式的平方根值。6)ROUND(列名/表达式,[因子])返回指定列或表达式的舍入值。7)TRUNC(列名/表达式,[因子])返回指定列或表达式的截断值。如果是负数,则四舍五入到小数点左边;注:回合是指指定位置的4回合和5回合;TRUNC在指定位被直接截断;设tmp_float=round(4.555,2) - 4.56设tmp_float=trunc(4.555,2)-4.55 4。Exp (colname/expression)返回指定列或表达式的指数值2)LOGN(COLNAME/EXPRESSION)返回指定列或表达式的自然对数值3)LOG10(COLNAME/EXPRESSION)返回指定列或表达式的底部数字10的对数值5、三角函数1)COS(弧度表达式)返回指定弧度表达式的余弦值2)SIN(弧度表达式)sine 3)TAN(弧度表达式)tangent 4)ACOS(弧度表达式)反余弦5)ASIN(弧度表达式)反正弦6)ATAN(弧度表达式统计函数1)RANGE(COLNAME)返回指定列的最大值和最小值之差=max(COLNAME)-min(COLNAME)2)Variance(COLNAME)返回指定列的样本方差。3)STDEV(COLNAME)返回指定列的标准差;7.其他函数1)USER返回当前用户名2)HEX(COLNAME/EXPRESSION)返回指定列或表达式的十六进制值3)LENGTH(COLNAME/EXPRESSION)返回指定字符列或表达式的长度4)TRIM(COLNAME/EXPRESSION)删除指定列或表达式前后的字符。5)由colname/expression | | colname/expression一起返回的字符;8.Cardinality函数:1)cardinality(仅限IDS)函数计算集合中包含的元素数量。智能对象函数,(IDS only IDS) filetoblob(),将文件复制到BLOB列filetoclob(),将文件复制到CLOB列locopy(),将BLOB或CLOB类型的数据复制到另一个BLOB或CLOB列lotofile(),将BLOB或CLOB复制到文件中。9.字符串处理函数:lower,将字符串中每个大写字母转换成小写字母upper,将字符串中每个小写字母转换成大写字母initcap,将字符串中每个单词的首字母转换成大写replace,将字符串中某组字符转换成其他字符,如replace(col," each "," eve") substr,返回字符串的一部分,如substr(col,1,2) substring,返回字符串的一部分, 例如substring(col,from 1 to 4) lpad,并使用lpad函数用一个重复了所需次数的字符序列填充或截断字符串的左侧,这取决于字符串中填充部分的指定长度。 例如,字段col的类型为char(15),而TAB _ NAME中的SELECT LPAD (col,21," _ ")在COL. Rpad之前显示为six _,这是一个字符串的副本,已使用Rpad函数对其右侧进行了填充或截断,其字符序列已重复了必要的次数,具体次数取决于字符串中填充部分的指定长度。例如,字段col的类型为char(15),从TAB _ NAME中选择RPAD (col,21,“_”)时,在col后面显示six _字样
10.其他函数:hex,返回表达式的十六进制数round,返回表达式的舍入值trunc,返回表达式的截断值length,计算表达式的长度user,返回执行查询的用户今天的用户名(登录帐户名),返回当前系统日期dbservername,返回数据库服务器的名称。和sitename dbinfo一样,返回数据库的相关信息,decode函数,将一个值的表达式转换成另一个值,decode (test,a,a _ value,b,b _ value,c,c _ value …)。decode函数不支持文本和字节类型。Nvl,将计算结果为null的表达式转换为要指定的另一个值。还可以在select语句中使用存储过程,如select spl($test) from tab_name II,IDS intrinsic function 1,DBSERVERNAME返回数据库服务器名称let tmp_char=DBSERVERNAME 2,SITENAME返回数据库服务器名称let tmp_char=SITENAME。说明:两者功能相同;3.dbinfo ('special _ keyword ')只返回关键字值。示例1:返回数据中每个表的DBSPACE名称select dbinfo('dbspace ',partnum),Name From systables where tabid 99 and tabtype=' t '(OK)示例2:返回任意表中插入的最后一个序列值,select dbinfo('sqlca.sqlerrd1 '),From systables where tabid=1示例3:返回最后一个select、INSERT、UPDATE、DELETE或EXECUTE过程语句处理的行数;select dbinfo(' sqlca . SQL errd 2 ')from systables,其中tabid=1;该库中还有38个其他函数。Informix目前支持的版本有ODS 7.x、SE 7.x和Universal Server (IUS) 9.x在ODS 7.x中,完全支持所有数据类型,而在IUS 9.x中,不支持SLOB和CLOB。要在Web服务器上安装Informix客户端,在编译PHP之前(配置之前),首先要设置三个环境变量,IFX _利布迪尔、IFX_LIBS和IFX_INCDIR。对于9.x版本,应该配置哈得IFX IUS环境变量。同时在配置的时候要加上- with_informix=yes=yes的选项。X _ connect:打开Informix服务器连接。X _ pconnect:打开Informix服务器进行持续连接。X _ close:关闭Informix服务器连接。X _ query:发送查询字符串。X _ prepare:准备查询字符串。X _ do:执行准备好的查询字符串。X _ error:获取Informix的最后一个错误。X _ errormsg:获取Informix的最后一个错误信息。X _ affected _ rows:获取Informix最后一次操作影响的列数。X _ getsqlca:查询后获取sqlca信息。X _ fetch _ row:返回单列中的每个字段。X _ HTMLtbl _ result:将查询返回的数据转换成html表格。X _ fieldtypes:列出Informix的SQL字段。X _ fieldproperties:列出Informix的SQL字段属性。X _ num _ fields:获取返回字段的数量。X _ num _ rows:获取返回行数。X _ free _ result:释放并返回占用的内存。创建一个角色类。X _ free _ char:删除角色类。X _ update _ char:改变角色类。X _ get _ char:获取角色类。X _ create _ blob:创建一个长比特类。X _ copy _ blob:复制长比特类。X _ free _ blob:删除长比特类。获取long bit类。X _ update _ blob:更改long bit类。X _ blobinfile _ mode:配置长比特类模式。X _ textasvarchar:配置文本模式的默认值。X _ byteasvarchar:配置位组模式的默认值。X _ nullformat:配置空字符模式的默认值。Ifxus_create_slob:创建slob类。X _ free _ slob:删除slob类。Ifxus_close_slob:删除slob类。Ifxus_open_slob:打开slob类。Ifxus_tell_slob:返回当前文档或查找位置。Ifxus_seek_slob:配置当前文档或查找位置。Ifxus_read_slob:读取指定数量的slob类。Ifxus_write_slob:将一个字符串写入slob类。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。