截取字符串--sql和access的区别
截取字符串--sql和access的区别
在SQL Server中我们可以用Substring(string,start,length)函数来实现字符串截取功能(其中string代表要截取的字符串,start参数表示截取开始的位置,length参数表示截取的字符个数)。
但是Access却不支持这个函数。
在Access中用Mid(string,start,length)和Midb(string,start,length)来实现这个功能。 用mid()函数。 Mid 函数返回 Variant(String),其中包含字符串中指定数量的字符。
语法Mid(string, start[, length]) Mid 函数的语法具有下面的命名参数:部分 说明string必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。 start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或length超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。
说明欲知string的字符数,可用Len函数。注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用MidB的示例代码,请参阅示例主题中的第二个示例。
非常需要说明的是:如果从字符串头开始截取的话,第一个参数应该是1而不是0,虽然在SQL Server中以0或者1作为起始位置参数没有问题,但是在Access中只能以1作为起始参数,否则可能出现乱码或者截取错误。