1.算数表达式(Arithmetic Expressions)
SELECT FROM /DMO/FLIGHT
FIELDS SEATS_MAX,
SEATS_OCCUPIED,
SEATS_MAX - SEATS_OCCUPIED AS SEATS_AVAILABLE,
( CAST( SEATS_OCCUPIED AS FLTP ) * CAST( 100 AS FLTP ) ) / CAST( SEATS_MAX AS FLTP ) AS PERCENTAGE
WHERE CARRIER_ID = 'LH' AND CONNECTION_ID = '0400'
INTO TABLE @DATA(RESULT1).
OUT->WRITE( RESULT1 ).
2.调用数值类型方法(Numeric Functions)
SELECT FROM /DMO/FLIGHT
FIELDS SEATS_MAX,
SEATS_OCCUPIED,
( CAST( SEATS_OCCUPIED AS FLTP ) * CAST( 100 AS FLTP ) ) / CAST( SEATS_MAX AS FLTP ) AS PERCENTAGE_FLTP,
DIV( SEATS_OCCUPIED * 100, SEATS_MAX ) AS PERCENTAGE_INT,
DIVISION( SEATS_OCCUPIED * 100, SEATS_MAX, 2 ) AS PERCENTAGE_DEC
WHERE CARRIER_ID = 'LH' AND CONNECTION_ID = '0400'
INTO TABLE @DATA(RESULT2).
OUT->WRITE( RESULT2 ).
3.字符串连接(CONCAT)
SELECT FROM /DMO/CUSTOMER
FIELDS CUSTOMER_ID,
STREET && ',' && ' ' && POSTAL_CODE && ' ' && CITY AS ADDRESS_NORMAL,
CONCAT( STREET, CONCAT_WITH_SPACE( ',', CONCAT_WITH_SPACE( POSTAL_CODE, UPPER( CITY ), 1 ), 1 ) ) AS ADDRESS_CITY_UPPER
WHERE COUNTRY_CODE = 'ES'
INTO TABLE @DATA(RESULT3).
OUT->WRITE( RESULT3 ).
4.字符串格式化
SELECT FROM /DMO/CARRIER
FIELDS CARRIER_ID,
NAME,
UPPER( NAME ) AS NAME_UPPER,
LOWER( NAME ) AS NAME_LOWER,
INITCAP( NAME ) AS NAME_INITCAP
WHERE CARRIER_ID = 'SR'
INTO TABLE @DATA(RESULT4).
OUT->WRITE( RESULT4 ).
5.字符串截取
SELECT FROM /DMO/FLIGHT
FIELDS FLIGHT_DATE,
CAST( FLIGHT_DATE AS CHAR( 8 ) ) AS FLIGHT_DATE_RAW,
LEFT( FLIGHT_DATE, 4 ) AS YEAR,
RIGHT( FLIGHT_DATE, 2 ) AS DAY,
SUBSTRING( FLIGHT_DATE, 5, 2 ) AS MONTH
WHERE CARRIER_ID = 'LH'
AND CONNECTION_ID = '0400'
INTO TABLE @DATA(RESULT5).
OUT->WRITE( RESULT5 ).
总结
打完收工。