0 0

sql serve 2005 数据类型 nvarchar 转换为 numeric 的一个问题3

我现在有一张表AIR_TICKET其中有个字段TOUR_CODE是nvarchar 类型,我现在想把当其中的存放的是数值时就和这个表中的TICKET_PRICE做乘法计算,否则就为0,我现在写了个sql 觉得没有问题,但是一执行就报“从数据类型 nvarchar 转换为 numeric 时出错。”这是为什么啊,请指教还有为什么非得加上group by air_ticket.TOUR_CODE不加就报
“选择列表中的列 'air_ticket.TOUR_CODE' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。”


下面是我写的sql 语句

select case when isnumeric(AIR_TICKET.TOUR_CODE)=1
then sum(AIR_TICKET.TICKET_PRICE*(convert(numeric,AIR_TICKET.TOUR_CODE))) else 0 end  as Z_VALUE_REWARD
from air_ticket group by air_ticket.TOUR_CODE

第二我不想把group by air_ticket.TOUR_CODE加上有什么办法没有
2011年10月12日 16:07

2个答案 按时间排序 按投票排序

0 0

1.conver函数这么写看看:CONVERT(INT, AIR_TICKET.TOUR_CODE)

2.如果在select 列表项中除了包含聚合函数外,还包含了表的某些列,那么你必须使用group by语句,
你sql中使用了聚合函数,因为你isnumeric(AIR_TICKET.TOUR_CODE)含有AIR_TICKET.TOUR_CODE字段,所以需要加group by,否则报错。

按照我的理解,你的sql应该是这样的:

SELECT SUM(CASE
                WHEN isnumeric(AIR_TICKET.TOUR_CODE) = 1 THEN
                 AIR_TICKET.TICKET_PRICE * (CONVERT(INT, AIR_TICKET.TOUR_CODE))
                ELSE
                 0
            END) AS Z_VALUE_REWARD
  FROM air_ticket




2011年10月12日 16:35
0 0

你不加在group by里面,那你加上聚合函数吧,比如max(xxxxxxxx)

2011年10月12日 16:18

相关推荐

    从数据类型 nvarchar 转换为 numeric 时出错.pdf

    知识点一:数据类型转换问题 在数据库操作中,数据类型转换是一个常见的问题。在本案例中,从数据类型nvarchar转换为numeric时出现错误。这是因为在进行数据类型转换时,数据的内容需要符合目标数据类型的要求。例如...

    sql server 2005 数据类型

    SQL Server 2005 数据类型是数据库设计的基础,它决定了数据如何被存储和处理。在SQL Server 2005中,数据类型分为两大类:字符串数据类型和数值数据类型。 1. 字符串数据类型: - `char`: 定长字符串,存储1到...

    nvarchar binary数据类型转换

    因此,在进行数据类型转换时,必须清楚了解数据的内容和预期的用途,以避免不必要的数据丢失或错误。 在SQL Server 2008 R2中,`nvarchar`与`binary`之间的转换是一个常见的操作,特别是在处理用户输入、存储过程、...

    SQL2005 数据类型

    SQL Server 2005作为一款强大的关系型数据库管理系统,提供了多种数据类型以适应不同的数据存储需求。本文将详细介绍SQL2005中的各种数据类型及其特点,帮助数据库开发者和管理员更好地理解和应用这些数据类型。 ##...

    SQL SERVER的数据类型自定义

    这样就定义了一个名为`Currency`的数据类型,它基于`decimal`类型,具有18位总精度和2位小数精度。这个自定义数据类型可以用于存储财务交易中的货币金额,确保数据的准确性和一致性。 #### 结论 掌握SQL Server的...

    SQL Server 中的数据类型隐式转换问题

    在SQL Server中,数据类型隐式转换是一种自动将一种数据类型转换为另一种数据类型的过程,通常发生在不同数据类型的值进行操作或比较时。虽然这种转换能够简化编程,但如果不了解其工作原理,可能会引发意料之外的...

    SQL数据类型与C#数据类型转换

    ### SQL数据类型与C#数据类型的转换 在开发过程中,我们经常会遇到需要将数据库中的数据类型映射到编程语言中的情况。特别是在使用SQL Server作为后端数据库与C#进行交互时,了解这两种环境下的数据类型及其对应...

    SqlServer数据库的数据类型

    此命令将创建一个名为`ssn`的新数据类型,基于`VarChar`类型。 以上就是SQL Server中提供的主要数据类型的详细介绍,这些数据类型覆盖了大部分常见的数据存储需求,并且可以根据具体的应用场景进行灵活选择和扩展。

    sql server 2005数据类型说明

    在SQL Server 2005中,数据类型的丰富性和灵活性为数据库设计提供了强大的支持,能够满足各种业务场景的需求。以下是对部分关键数据类型及其特性的深入解析: ### 1. 字符串类型 #### `char` 和 `varchar` - `...

    sqlserver数据库类型对应Java中的数据类型

    SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个广泛使用的编程语言。在 Java 中,对数据库的操作需要通过 JDBC(Java Database Connectivity)来实现,而在 JDBC ...

    SQL Server 2005 数据类型和.Net数据类型的对应关系.doc

    SQL Server 2005 和 .NET Framework 之间的数据类型对应关系是开发数据库应用程序时的重要基础知识。理解这些对应关系有助于确保在SQL Server中存储的数据能够正确地被.NET应用程序读取和处理。以下是对两种数据类型...

    SQL数据库数据类型说明

    SQL 数据库数据类型说明 SQL 数据库中有多种数据类型,每种数据类型都有其特点和应用场景。了解这些数据类型是 SQL 编程的基础。 1. 整型数据类型 SQL 数据库中的整型数据类型包括 bit、int、smallint 和 tinyint...

    详解SQL Server中的数据类型

    首先,SQL Server支持两种基本的字符数据类型:常规字符数据类型(CHAR和VARCHAR)以及Unicode字符数据类型(NCHAR和NVARCHAR)。常规数据类型用于存储英文或其他基于单字节编码的字符,而Unicode数据类型则用于存储...

    数据库SQLserve2005

    总的来说,创建SQL Server 2005数据库表是一项基础但关键的任务,理解各种数据类型和创建过程对于数据库管理员和开发人员来说至关重要,因为它直接影响到数据的准确存储和高效查询。通过熟练掌握这些知识,可以更好...

    SQL_Server_2005_常用数据类型详解

    在SQL Server 2005中,数据类型是定义数据库中列或变量的数据格式的关键元素。以下是关于SQL Server 2005常用数据类型的详细解释: 1. **字符串数据类型**: - `char`:定长字符串类型,用于存储长度固定的非...

    T-SQL中的数据类型

    SQL Server 2000 提供了一系列丰富的数据类型,以满足各种不同应用场景的需求。 1. **整数数据类型** 整数数据类型包括 `bigint`、`int`、`smallint` 和 `tinyint`。这些类型主要用于存储无小数部分的数值。`...

    sql server数据类型大全

    例如,将`numeric`数据类型转换为`integer`会丢失小数部分,如15.415会被四舍五入成15。 4. **查询表结构获取数据类型**: 使用`sys.objects`和`sys.columns`系统视图可以查询SQL Server表中各列的数据类型。`TYPE...

    SQL Server 数据类型总结

    以下是对SQL Server数据类型的一个全面而深入的总结,旨在帮助数据库管理员、开发人员及爱好者们更好地理解和运用这些数据类型。 ### 1. 数值类型 数值类型是SQL Server中最基础的数据类型之一,主要包括整型和...

    SQL SERVER的数据类型综述

    此外,理解数据类型间的转换规则,比如如何将二进制数据转换为字符数据,或者如何将数值类型转换为日期时间类型,是编写高效SQL语句的基础。因此,深入学习和理解SQL Server的数据类型是成为合格的数据库管理员或...

    查询条件是text的解决办法-sql sql text 数据类型为text解决办法

    通过适当的数据类型转换和查询优化技巧,可以有效地解决在SQL中处理大量文本数据时遇到的问题。同时,考虑到`text`数据类型的特殊性,在设计数据库结构和编写查询语句时也需要格外注意性能优化方面的问题。

Global site tag (gtag.js) - Google Analytics