简体   繁体   English

执行sql查询时如何根据整数变量设置字符串值?

[英]How can i set a string values based on integer variable while executing sql query?

SQL Query SQL查询

sessionFactory.getCurrentSession().createSQLQuery("select claim.encounterId, claim.claimUniqID, patientmaster.FirstName, tbl_insurance.insurance_name, claim.status from rcmdb.claim join rcmdb.encounter on claim.encounterID=encounter.encounterID join rcmdb.insurance_details on encounter.insuranceDetailsID=insurance_details.insuranceDetailsID 
join rcmdb.tbl_insurance on insurance_details.insurance=tbl_insurance.insurance_id 
join rcmdb.patientmaster onpatientmaster.patientMasterID=encounter.patientMasterID
where createdByDate between'"+from+"' and '"+to+"'").list();

i want to return string values based on claim.status values like if the status is 1 accepted, in output I want the string values how can I write the query?我想根据 claim.status 值返回字符串值,例如如果状态为 1 接受,在输出中我想要字符串值我该如何编写查询?

You can use CASE statement.您可以使用 CASE 语句。 https://www.w3schools.com/sql/func_mysql_case.asp https://www.w3schools.com/sql/func_mysql_case.asp

SELECT CASE
    WHEN status =1 THEN STRING
    ELSE NULL
END

Put a table in the database that maps the int to the string and join it:在数据库中放置一个表,将 int 映射到字符串并加入它:

ClaimStatus
--------------
ID, StatusDescription
1, Accepted
2, Rejected

SELECT c.PolicyNumber, c.ClaimValue, cs.StatusDescription
FROM
  claims c
  INNER JOIN claimstatus cs ON c.ClaimStatusId = cs.ID

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM