运算子不存在:文字+整数[Postgres 9.5]

时间:2018-06-27 13:22:39

标签: postgresql-9.5

我对这段来自SQL的代码有疑问:

UPDATE resultats_du_jour
SET Heure_debut =  CONCAT(SUBSTRING(Heure_debut,1,2) +
    12,SUBSTRING(Heure_debut,3,3))
WHERE Heure_debut LIKE '%PM';

这给了我以下输出:

sql:53: ER ROR: operator does not exist: text + integer LINE 1: ...ET Heure_debut = CONCAT(SUBSTRING(Heure_debut,1,2)+12,SUBSTR... 

我了解您无法添加文本+整数,但是我该如何继续呢?

非常感谢。

1 个答案:

答案 0 :(得分:1)

如果要将12乘以第一个子字符串的等效数值,然后将其再次连接回文本,则可以使用强制转换:

   <RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent">

       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="#FFFFFF"
           android:text="B" />

       <TextView
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:background="#FFFFFF"
           android:text="A" />

   </RelativeLayout>

这感觉有点骇人听闻,通常,出于良好设计的考虑,您应该确定某种类型的数据是文本还是数字。在这里,如果您将事物存储为数字,则可能根本不需要强制转换。