我有一个包含以下金额列表的平面文件,您能否告诉我,如何将下面的金额列表转换为两点十进制值,例如 1234567.80,以 {,A,H,E,C 结尾,I,F 通过使用 SQL?
12345678{
00484326A
00000210H
00000185A
00000077E
00000833C
00000255I
00000077E
00000039F
00000088A
00000000F
00000000A
00000100{
谢谢,
最佳答案
试试这个 with this SQLfiddle 。不太漂亮,但可以用
SELECT
CAST(
CONCAT(SUBSTRING(test_value,1, LENGTH(test_value) -2),
'.',
SUBSTRING(test_value, LENGTH(test_value) -1, 1))
AS DECIMAL(7,1))
FROM TEST
WHERE SUBSTRING(test_value, LENGTH(test_value)) = 'A'
|| SUBSTRING(test_value, LENGTH(test_value)) = 'H'
-- keep adding above line for the rest of the ending characters you want
关于mysql - 使用SQL将varchars转换为两点十进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19307455/