在Access中可以截取字符串吗

作者&投稿:倪沿 (若有异议请与网页底部的电邮联系)
在Access中可以截取字符串吗~

可以,用mid函数
比如
select mid('abcd',1,2)
显示结果则为ab
其中1代表从第一位截取,2代表截取2位长度

SELECT 省市区,Count(省市区) as 人数 FROM (SELECT Left(籍贯,IIf(InStr(籍贯,'省'),InStr(籍贯,'省'),IIf(InStr(籍贯,'自治区'),InStr(籍贯,'自治区')+2,IIf(InStr(籍贯,'市'),InStr(籍贯,'市'),3)))) AS 省市区 FROM 你的表) GROUP BY 省市区

大致就是这样,可能存在籍贯中的乡村组中有“省”的字样的情况,你可根据情况对上述语句进行修正。如果该语句错误,可尝试检查一下括号是否对应,比如多一个或少一个括号。

在access中,你可以使用一组VBA字符串处理函数实现对字符串的截取。常用的函数有InStr, Left, LTrim, Mid, Right, RTrim,
Trim。

1. InStr 函数

返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法

InStr([start, ]string1,
string2[, compare])

示例

本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' 被搜索的字符串。
SearchChar = "P"    ' 要查找字符串 "P"。

' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
' 小写 p 和大写 P 在文本比较下是一样的。
MyPos = Instr(4, SearchString, SearchChar, 1)

' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
' 小写 p 和大写 P 在二进制比较下是不一样的。
MyPos = Instr(1, SearchString, SearchChar, 0)

' 缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos = Instr(SearchString, SearchChar)    ' 返回 9。

MyPos = Instr(1, SearchString, "W")    ' 返回 0。

2. Left,Right 函数

返回 Variant (String),其中包含字符串中从左边(Right从右边)算起指定数量的字符。

语法

Left(string, length)

Right(string, length)

示例

本示例使用 Left 函数来得到某字符串最左边的几个字符。

Dim AnyString, MyStr
AnyString = "Hello World"    ' 定义字符串。
MyStr = Left(AnyString, 1)    ' 返回 "H"。
MyStr = Left(AnyString, 7)    ' 返回 "Hello W"。
MyStr = Left(AnyString, 20)    ' 返回 "Hello World"。

3. LTrim、RTrim与 Trim 函数

返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白
(LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。

语法

LTrim(string)

RTrim(string)

Trim(string)

必要的 string 参数可以是任何有效的字符串表达式。如果 string 包含 Null,将返回 Null。

示例

本示例使用 LTrim 及 RTrim 函数将某字符串的开头及结尾的空格全部去除。事实上只使用
Trim 函数也可以做到将两头空格全部去除。

Dim MyString, TrimString
MyString = "  <-Trim->  "    ' 设置字符串初值。
TrimString = LTrim(MyString)    ' TrimString = "<-Trim->  "。
TrimString = RTrim(MyString)    ' TrimString = "  <-Trim->"。
TrimString = LTrim(RTrim(MyString))    ' TrimString = "<-Trim->"。
' 只使用 Trim 函数也同样将两头空格去除。
TrimString = Trim(MyString)    ' TrimString = "<-Trim->"。

4. Mid 函数

返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[,
length])

示例

本示例使用 Mid 语句来得到某个字符串中的几个字符。

Dim MyString, FirstWord, LastWord, MidWords
MyString = "Mid Function Demo"    建立一个字符串。
FirstWord = Mid(MyString, 1, 3)    ' 返回 "Mid"。
LastWord = Mid(MyString, 14, 4)    ' 返回 "Demo"。
MidWords = Mid(MyString, 5)    ' 返回 "Funcion Demo"。

提醒:截取字符串时,通常需要判断字符串位置,,并且截取后或截取前还需要去掉空格,所以以上各个函数可能都会用到



可以。
一样有LEFT RIGHT MID

在Access中可以截取字符串吗
答:在access中,你可以使用一组VBA字符串处理函数实现对字符串的截取。常用的函数有InStr, Left, LTrim, Mid, Right, RTrim, Trim。1. InStr 函数 返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。语法 InStr([start, ]string1, string2[, compare])示例 本示例使用 InStr 函数来...

access中怎么进行类型转换和字符串截取
答:当字符的表达式是Null时,返回Null值;当数值表达式值为0时,返回一个空的字符串;当数值表达式值大于或等于字符表达式的个数时,返回字符表达式。Right(<字符表达式 >,<数值表达式>) 返回一个值,该值是在字符表达式右侧第一个字符开始,截取的若干个字符。其中,字符个数是数值表达式的值。当字符表达...

access中截取某个字符串左边的所有数据
答:先用InStr([表名]![字段名],"字符")定位出“字符”在这个字段中第一次出现的位置,然后再用LEFT()去取左边的字符。你应该会吧。Left([字段],instr([字段],"a")-1)上面这函数表示,比如字段是这样的 132a12312fdsf ,它就截取132,即a前面的所有字符 ...

access 截取字符串
答:SELECT 省市区,Count(省市区) as 人数 FROM (SELECT Left(籍贯,IIf(InStr(籍贯,'省'),InStr(籍贯,'省'),IIf(InStr(籍贯,'自治区'),InStr(籍贯,'自治区')+2,IIf(InStr(籍贯,'市'),InStr(籍贯,'市'),3))) AS 省市区 FROM 你的表) GROUP BY 省市区 大致就是这样,可能存在籍贯中的...

access中截取某个字符串右边的所有数据
答:用Mid()函数:给你一个思路,假设你的字段长度为n:新字符串=Mid(字段名,len(字段名)-InstrRev(字段名, "*")+1,n)新字符串就是你要的:最后一个 * 号右边所有数据。

ACCESS中用什么sql语句来截取字符和替换字符
答:读取修改前员工的编号再读取修改后部门编号 把新的部门编号替换旧的员工编号的前两位就行了 这个句法很好写的 注意一个是在读取部门编号的前两位时要用到函数cutStr cutStr(a,b)就是在a里从左到右读取b长的数字 例如cutStr(123,1)=1 cutStr(123,2)=12 ...

ACCESS中 如何截取特定字符右边的数据
答:'使用instr函数截取字符串 Dim instrg, outstrg, x As String Dim m, n, i As Integer instrg = "农学院/2014/种子科学与工程" '需要拆分的字符串 m = Len(instrg) - Len(Replace(instrg, "/", "")) '分隔符/的数量 '利用循环函数拆分及合成新的字符串 "'农学院',...

ACCESS 数据库 字符串如何截取其中数字排序
答:如果字段值开始都是数字的话,那么使用Val函数来排序最为便捷。例如运行SQL语句:select * from 表名order by val(排序字段名)如果表中只含上述数据 那么该语句返回下列排序效果 说明 Val函数 返回包含于字符串内的数字,字符串中是一个适当类型的数值。在它不能识别为数字的第一个字符上,停止读入...

access中截取字符串,如果长度大于10,就截取字符串然后在末尾加上省略...
答:比如说字段是title,表名是table1 select iif(len(title)>10,left(title,10)+"...",title) from table1

access怎么取首行字符
答:1、首先打开access表格,点击设置。2、其次在设置中找到字符设置。3、最后在字符设置中点击每一段取首行字符即可。MicrosofOfficeAccess是由微软发布的关系数据库管理系统,它结合了MicrosoftJetDatabaseEngine和图形用户界面两项特点。