求一个sql,主要是比较字符串,类似1-10和1-1-1的大小关系

wsq2002 wsq2002 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
共2个表,可能做建筑工程项目的一看就知道咋回事。
表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。

yy_y_yy598

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   如

weixin_38557095

SQL Server 比较日期大小的方法

介绍了SQL Server 比较日期大小的方法,有需要的朋友可以参考一下

weixin_38686041

Java字符串转换为日期和时间比较大小[归类].pdf

Java字符串转换为日期和时间比较大小[归类].pdf

xhr131452007

sql 判断字符串中是否包含数字和字母的方法

判断是否含有字母 select PATINDEX('%[A-Za-z]%', ‘ads23432')=0 (如果存在字母,结果>1) 判断是否含有数字 PATINDEX('%[0-9]%', ‘234sdf')=0 (如果存在数字,结果>1) 您可能感兴趣的文章:MS SQL 实现验证字符串是否包含有大小写字母的功能详解MySQL查询时区分字符串中字母大小写的方法SqlServer 获取字符串中小写字母的sql语句

weixin_38631282
评论 7
收藏 已收藏
分享
返回顶部
wsq2002
MS-SQL Server 34,876 成员 254,635 内容