Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 240 Big Data Appliance
- 1.9K Data Science
- 450.4K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 546 SQLcl
- 4K SQL Developer Data Modeler
- 187.1K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 443 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
Oracle 12c - Sql Query - Character to Number

Dear Friends
I want to select the data which is in character form (34:44) which i want to convert to number as (34.44).
I tried the following Query but its giving the error message, can you please suggest the correct syntex . clock_in is in Character ("34:44")
SELECT EMP_NO, TO_NUMBER('clock_in', '99.99'), OFF_DUTY,CLOCK_IN,CLOCK_OUT FROM ATT_BIOMATRIX_DRAFT
Sanjay
Answers
-
How can you have the hour 34 on a clock?
Still, see if the below suits you:
with t_clock as (
select '22:35' hr_mi
from dual
)
select to_number(replace(hr_mi,':','.')) hr_mi_num
from t_clock
;
-
@SANPAT: I want to select the data which is in character form (34:44) which i want to convert to number as (34.44).
It isn't clear what are you clocking. If it is hours and minutes or minutes and seconds then 34:44 is 34 + 44/60 and not 34.44. Using 34.44 will not work if you are, for example adding/subtracting clocks:
with t_clock as ( select '34:44' hr_mi from dual union all select '00:16' hr_mi from dual ) select sum(replace(hr_mi,':','.')) s1, sum(regexp_substr(hr_mi,'[^:]+') + regexp_substr(hr_mi,'[^:]+',1,2) / 60) s2 from t_clock / S1 S2 ---------- ---------- 34.6 35 SQL>
SY.
-
Replacing a colon with a dot depends on NLS. For limited number of digits:
to_number('12:34','99d99','nls_numeric_characters=:,')