I a long string like below in my column and I need to extract only the date (2021-07-05) from it.
Could anyone please help?
Name - Koteswararao vp Department - Prod Location - Hyderabad Domain - ND Job Title - Technical-ABAP Date of Hire - 2021-07-05 Vendor ID - v2345 Candidate ID - Associate ID - 3334 Name - Hardware Allocation
Advertisement
Answer
We can use PATINDEX with SUBSTRING here:
SELECT
col,
SUBSTRING(col,
PATINDEX('%[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]%', col),
10) AS date
FROM yourTable;
The call to PATINDEX above finds the starting position of the date, while SUBSTRING takes 10 characters from that position.