求一个sql,主要是比较字符串,类似1-10和1-1-1的大小关系
表A的字段有:子项编码 varchar(50), 数量 decimal,
表内数据大概是这样:
1-1-1 12
1-1-3 15
1-2-3 20
1-10-2 16
2-1-3 10
2-2-10 20
...
表B的字段有:
章节名称 varchar(50), 子项起始编码 varchar(50), 子项截止编码 varchar(50)
表内数据大概是这样:
土方工程 1-1-1 1-1-3
土方工程 1-1-5 1-2-10
石方工程 2-1-1 2-3-10
求累计出各章节的数量,比如:
土方工程 47,计算过程是12+15+20
石方工程 30,计算过程是10+20
我的在分析器里这么写着试验了一下:
SELECT * FROM A WHERE 子项编码 between '1-1-1' AND '1-10-10'
查询不出来,显然这个'1-1-1' AND '1-10-10'比较不出来。
上面说的不知道各位能明白不,有清楚的给我指点一下这个sql语句怎么写?
相关推荐
Oracle Sql基础 Oracle Sql基础 Oracle Sql基础
本篇主要介绍Oracle SQL运行环境及SQL语法相关内容。通过本篇的学习,必须掌握ORACLE SQL的使用。如同一个文员必须掌握office的使用一样。 SQL,结构化查询语言,是用于访问关系型数据库的语言,它提供一系列的表达式用于从关系数据库中存储、更新、删除、取得数据。自从关系型数据库发布以来,它逐步流行了起来。其他的语言也被提出用语关系型数据库,但是SQL作为几乎所有关系型数据库的标准语言已经被大众所接受,这其中包含大家正在学习的ORACLE。
SQL Server字符串比较时区别大小写方法
在SQL Server中默认对大小写是不敏感的,例如userName=""jesse""和userName=""JESSE""结果是一样的。在验证密码的时候可能需要对字符串大小写敏感,需要做一些处理,介绍两种方法: 法Ⅰ:转换成二进制再比较,由于大小写的ASC码不同。例如: * T_User where cast(field as varbinary) = cast( ""Admin"" as varbinary) 法Ⅱ:利用排序规则,也是基于二进制。在字段后加上collate Chinese_PRC_CS_AS_WS 如
SQL Server 比较日期大小的方法
介绍了SQL Server 比较日期大小的方法,有需要的朋友可以参考一下
Java字符串转换为日期和时间比较大小[归类].pdf
Java字符串转换为日期和时间比较大小[归类].pdf
sql 判断字符串中是否包含数字和字母的方法
判断是否含有字母 select PATINDEX('%[A-Za-z]%', ‘ads23432')=0 (如果存在字母,结果>1) 判断是否含有数字 PATINDEX('%[0-9]%', ‘234sdf')=0 (如果存在数字,结果>1) 您可能感兴趣的文章:MS SQL 实现验证字符串是否包含有大小写字母的功能详解MySQL查询时区分字符串中字母大小写的方法SqlServer 获取字符串中小写字母的sql语句


