ACCESS 数据库 字符串如何截取其中数字排序

字段如上图
数字位数不固定
但数字都在前面

如果字段值开始都是数字的话,那么使用Val函数来排序最为便捷。

例如运行SQL语句:

 

select * from 表名order by val(排序字段名)

 

如果表中只含上述数据 那么该语句返回下列排序效果

 

说明

Val函数 返回包含于字符串内的数字,字符串中是一个适当类型的数值。

在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

Val("    1615 198th Street N.E.")

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-07
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作为起始参数,否则出现乱码。

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

access取字段中间一部分的值
1、取字段值中间的一部分使用mid函数即可。函数格式如下:mid(<字段名>,<起始位数>[,<截取位数>])2、说明:第三个参数为可选,省略该参数一直截取到末尾。3、举例说明如下:mid(住址,4,3),表示取住址字符串从第四位开始连续的3个字符 ...

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

access的数据库 字段截取问题
新建一个查询,切换到SQL视图,输入:SELECT *, Left(内容,400) AS 新内容 FROM 表名;以后在ASP查询的时候就把这个查询当表用就行了 注意:我看到很多人回答的都是800,实际上在Access中,对于字符串长度的计算一个英文和一个汉字的长度都是1,因此用400就可以了。

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

access 截取字符串
籍贯,'自治区')+2,IIf(InStr(籍贯,'市'),InStr(籍贯,'市'),3))) AS 省市区 FROM 你的表) GROUP BY 省市区 大致就是这样,可能存在籍贯中的乡村组中有“省”的字样的情况,你可根据情况对上述语句进行修正。如果该语句错误,可尝试检查一下括号是否对应,比如多一个或少一个括号。

怎样 取 字符串 中的 数字 access 急求
set sql="select * from Produce order by wbzd desc"

access数据库,如何在字段中一个指定的字符串后面加上序号
2)取记录集(ID、字段名)。从头开始do……loop循环。3)将字段值赋值给文本型变量 4)判断,如字段值包含“警察”,则:5)计数器加1(I=I+1),6)再用replace函数将文本变量中的“警察”替换为"警察"&I 7)docmd.runsql "UPDATE 表名 SET 字段名 = '" & 文本变量 & "' WHERE ID ...

...语句对access数据库中的某字段内容进行字符串拆分
可以用like,可以用instr select * from 表名 where 字段 like '%{2}%'上边这句如果运行没结果,请把百分号换成* 因为这个有个通配符集的问题,不知道你选用的是哪个 也可以 select * from 表名 where instr(字段名,'{2}')>0

在Access中怎么限定一个数值范围只能为某个数值范围
在有效性规则处输入:>=0 And <=100即可.就是了。如果需要不包含0和100,那么就去掉其中的=就可以了。在有效性规则中,可以使用Access 提供的通配符。请记任,Access支持两个通配符字符集,这是因为对于用于创建和管理数据库的结构化查询语言(SQL), Access 支持两种标准(ANSI-89 和ANSI-92)。 这...

相似回答