如何在Coldfusion中正确地从Sql查询转换为cfscript?

问题描述 投票:0回答:1

我有一个sql查询,我需要在其中将其转换为cfscript的帮助。但是,如您所见,我已尝试对其进行转换。但是,如果我在正确的路径上从sql查询转换为cfscript,则需要进行一些验证。如果没有,有人可以通过将SQL查询转换为cfscript来帮助我吗?谢谢您的帮助。这是我的代码。

SQL:

SELECT
    Employee_Id,
    'xxxxx' || SUBSTR(TRIM(Last_4_Ssn),1,4) AS Ssn,
    SUBSTR(TRIM(Last_Name),1,30) AS Last_Name,
    SUBSTR(TRIM(First_Name),1,30) AS First_Name,
    SUBSTR(TRIM(Middle_Name),1,1) AS Mi,
    SUBSTR(TRIM(Sex),1,1) AS Sex_Cd,
    SUBSTR(TRIM(Ethnicity_Code),1,1) AS Ethnicity_Code,
    SUBSTR(TRIM(Marital_Status),1,1) AS Marital_Status_Cd,
    TO_CHAR(Last_Update_Date, 'YYYY-MM-DD-HH24.MI.SS') || '.000000' AS Last_Update_Date_TimeStmp,
    Job_Status,
    To_Char(Job_Status_Date, 'YYYY-MM-DD') AS Job_Status_Date_ISO,
    Prime_Job,
    Department_Nbr,
    Job_Class,
    CASE
        WHEN Pay_Grade = '0'
        THEN ''
        ELSE Pay_Grade
    END AS Pay_Grade,
    Division_Nbr,
    To_Char(Probation_Begin_Date, 'YYYY-MM-DD') AS Probation_Begin_Date_ISO,
    Legacy_Status,
    Pay_Step,
    Creation_Date
FROM
    MyApp.APP_MYPHONE
WHERE
    1 = 1

    AND 
    (
     LAST_UPDATE_DATE >= ROUND(SYSDATE - <cfqueryparam value="#url.days#" cfsqltype="cf_sql_integer">)
     OR LAST_UPDATE_DATE2 >= ROUND(SYSDATE - <cfqueryparam value="#url.days#" cfsqltype="cf_sql_integer">)
     OR LAST_UPDATE_DATE3 >= ROUND(SYSDATE - <cfqueryparam value="#url.days#" cfsqltype="cf_sql_integer">)
    )

    AND 
    Department_Nbr BETWEEN '0000' AND '9999'
ORDER BY
    EMPLOYEE_ID,
    PRIME_JOB

CFSCRIPT:

<cfset jsonDatas = fileRead("c:\Users\Desktop\MyApi.json" )>      
<cfset jsonData = deserializeJSON(jsonDatas) />       
<cfif arrayLen(jsonData)>  
  <cfloop array="#jsonData#" index="prop">       
    <cfoutput>  
      <cfscript>  
        // writedump(jsonData);for (item in jsonData[1])   {  
          if (#prop.payGrade# == 0) {
                 #prop.divisionNbr#;        
         #prop.probationBeginDate#;        
         #prop.legacyStatus#;        
         #prop.payStep#;        
         #prop.creationDate#;           
          } 
        //  writeoutput(item & ": " & jsonData[1][item] & "<br />"); 
        // writedump(jsonData);}
      </cfscript>   
      <br>Output: 
      EmployeedID: 
      #prop.employeeId#
      Last4Ssn: #prop.last4Ssn# 
      LastName: #prop.lastName# 
      FirstName: #prop.firstName# 
      MiddleName: #prop.middleName# 
      Sex: #prop.sex# 
      BirthDate: #prop.birthDate# 
      EthnicityCode: #prop.ethnicityCode# 
      MaritalStatus: #prop.maritalStatus# 
      LastUpdateDate: #prop.lastUpdateDate# 
      JobStatus: #prop.jobStatus# 
      JobStatusDate: #prop.jobStatusDate#  
      PrimeJob: #prop.primeJob#  
      DepartmentNumber:#prop.departmentNbr#  
      JobClass: #prop.jobClass#
    </cfoutput> 
  </cfloop>  
sql coldfusion cfml
1个回答
0
投票

SQL定义在数据库上运行的查询。

    CFSCRIPT只是ColdFusion代码的脚本样式语法(与标签相反)。
  • 您的示例代码为
  • 这里有一些SQL

    • 这里,我正在阅读JSON,并使用脚本样式代码而不是标签将其转换为ColdFusion结构。
  • 您是否正在尝试从当前调用数据库(将数据作为ColdFusion查询对象返回)到调用API(将数据作为JSON数据包返回?然后,您需要将JSON数据转换为当前使用的相同或相似的CF结构吗?
  • © www.soinside.com 2019 - 2024. All rights reserved.