当前位置: 首页 > 面试题库 >

SQL-用varchar替换为null的整数

林涵映
2023-03-14
问题内容

varchar如果在select语句中有空值,我尝试用新字符串替换列:

(personid + ISNULL(personid, 'no person'))

我不尝试更新它,仅在查询结果中将值显示为“ no person”。

但我收到一个错误消息:

将varchar值转换为int数据类型时,转换失败。

我该如何克服?


问题答案:

替换为:

(personid+ISNULL(personid,'no person'))

有了这个:

(ISNULL(CAST(personid as varchar(31)),'no person')) AS personId


 类似资料:
  • 问题内容: 何去做?可以使用 select 语句(其中所有空值都应替换为123)编写什么查询? 我知道我们可以做到这一点,使用update tablename set fieldname =“ 123”,其中fieldname为null; 但不能使用 select 语句来做到这一点。 问题答案: 在MySQL中,有很多选项可以代替NULL值:

  • 问题内容: 目标是用数字表示的char值替换SQL查询中返回的整数值。例如: 标记为“端口”的表属性定义为1-4之间的整数。1 =篮球,2 =曲棍球,等等。下面是数据库表,然后是所需的输出。 数据库表: 所需的输出: 将这些整数值转换为String值的最佳实践是什么?在传递给程序之前使用SQL转换值?使用脚本语言来更改程序中的值?更改数据库设计? 问题答案: 数据库应该保存这些值,并且您应该执行连

  • 问题内容: 我在用字符串值替换ROLLUP NULL时遇到一些问题,因为我的列数据类型是Integer。 我可以在其中输入一个数值: 但是我无法弄清楚如果value为NULL则如何转换为varchar,然后替换为’Total’。 问题答案: 测试数据 结果集 笔记 您无法执行尝试执行的操作的原因是,CASE在每种情况下使用语句时,返回的数据类型应该相同。 在上面的查询中,我只是将colum1 CA

  • 问题内容: 我在SQL Server中有一个表,其中有一个列名 。它基本上将时间存储为格式。根据现在的要求,我希望它给我以分钟为单位的实际时间,即01:00给我60、01:30->90。请帮助我在SQL Server 2008中编写查询,以便将Varchar(HH: MM)转换成Minutes(整数)。 问题答案: 尝试 给定 输出: 这是 SQLFiddle

  • 我创建了Hbase表EMP,它具有列族f1和ID作为rowkey和NAME作为另一个列字段。 当我在这个Hbase表的顶部创建凤凰视图时 创建视图EMP(ID INTEGER Not NULL PRIMARY KEY, NAME VARCHAR(40));并运行选择状态,凤凰视图显示ID列的负值。Hbase中的实际值类似于101,102,103...但是当我在凤凰运行“从EMP中选择ID”时,我得