用例何时计入选择

时间:2018-05-16 12:40:04

标签: mysql sql

请指教。 需要添加到从更多列组合选择一个值。 我有列 router.HandleFunc("/delete",handler.DeleteProduct).Methods("DELETE") (此处为日期)和protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode==REQUEST_CODE && resultCode==RESULT_OK && data !=null && data.getData() != null) { Uri uri=data.getData(); String s = getRealPathFromURI(uri); try{ Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),uri); image.setImageBitmap(bitmap); } catch(IOException e) { e.printStackTrace(); } } } public String getRealPathFromURI(Uri uri) { String[] projection = { MediaStore.Images.Media.DATA }; @SuppressWarnings("deprecation") Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor .getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } (此处为数字)。

需要获得值dtmStartProcess且条件intProcessAfterDays计数值EstimatedAfterProcessCASE WHEN intProcessAfterDays中的值增加15天。

不确定如何把它放在一起。

谢谢

1 个答案:

答案 0 :(得分:0)

实现它的几种可能的表达方式。

就个人而言,我会做这样的事情

 SELECT t.dtmStartProcess + INTERVAL IFNULL(t.intProcessAfterDays,15) DAYS AS dtmAfter 
      , t.dtmStartProcess
      , t.intProcesAfterDays
      , ...
   FROM mytable t 
  WHERE ...

IFNULL可以替换为等效的CASE表达式

 CASE WHEN t.intProcesAfterDays IS NULL THEN 15 ELSE t.intProcessAfterDays END

基本上,我们采用日期时间值并为其添加间隔。

  dtmStart + INTERVAL 2 DAYS

在文字2的位置我们使用表达式。

我们还可以使用DATE_ADDADDDATE函数来获得相同的结果。

  DATE_ADD(dtmStart,INTERVAL 2 DAYS)

  DATEADD(dtmStart,2)