【问题标题】:I am getting an error regarding the use of the function float, how do I solve it?我收到关于使用函数 float 的错误,我该如何解决?
【发布时间】:2019-10-25 14:14:36
【问题描述】:

我正在尝试将括号内的内容转换为浮点类型,但我不断收到相同的错误。

我已经尝试更改括号,以便在转换之前将整个表达式包含在 float 中,但它仍然给我同样的错误。请让我知道我该怎么做才能避免这个错误。

SELECT     
    inter.IDIntervento, 'Intervento principale' as _IDInterventoTipo, 1 as _IDInterventoTipoN,
    inter.IDIntervento as _IDInterventoRif, inter.IDInterventoV, 
    IDCartella, IDCdc, IDCdc|| IDCartella as IDCdcIDCartella,
    ECO.TipoCardio,
    ECO.DataEsame,
    ECO.Operatore,
    ECO.TipoEco, 
    convert(float,replace(ECO.DiametroTelediastolicoVentricoloSinistro,',','.')) as VentricoloSinistro_DiametroTelediastolico,
    convert(float,replace(ECO.VolumeTelediastolicoVentricoloSinistro,',','.')) as VentricoloSinistro_VolumeTelediastolico,
    convert(float,replace(ECO.DiametroTelediastolico2VentricoloSinistro,',','.')) as VentricoloSinistro_DiametroTelediastolico2,
    convert(float,replace(ECO.VolumeTelediastolico2VentricoloSinistro,',','.')) as VentricoloSinistro_VolumeTelediastolico2,
    (SELECT cast(idinterventovalore as varchar(5))|| '='|| valore  
    FROM cch.pats_cch_interventi_valori val     

【问题讨论】:

  • 你遇到了什么错误?
  • 错误告诉我float列不存在

标签: postgresql bigdata pentaho dbeaver


【解决方案1】:

函数convert 将字符串从一种编码转换为另一种编码。

要将字符串转换为浮点数,请使用类型转换:

CAST (replace(ECO.DiametroTelediastolicoVentricoloSinistro,',','.')
      AS double precision) AS VentricoloSinistro_DiametroTelediastolico

【讨论】:

  • 我明白了,但是如果我使用 cast 而不是 convert 替换功能就不再起作用了。
  • 我已经编辑了答案以显示它在您的示例中的使用方式。
猜你喜欢
  • 2020-01-22
  • 1970-01-01
  • 2022-12-21
  • 2019-09-16
  • 1970-01-01
  • 2015-07-07
  • 2021-06-29
  • 1970-01-01
  • 2015-03-23
相关资源
最近更新 更多