Given input data:
Col1
---------------------------------------
'-'::"varchar" COLLATE "default"
'-1'::integer
'0'::smallint
'1'::"varchar" COLLATE "default"
(get_val())::"timestamp"
0
0.0
10
210
90000
getdate()
I'm trying to replace the part of the string(column Col1
) to empty string ''.
Want to replace anything after :: with empty string as shown below in the expected result.
Expected Result:
Col1 Col2
------------------------------------------------------------------------
'-'::"varchar" COLLATE "default" '-'
'-1'::integer '-1'
'0'::smallint '0'
'1'::"varchar" COLLATE "default" '1'
(get_val())::"timestamp" (get_val())
0 0
0.0 0.0
10 10
210 210
90000 90000
8 8
getdate() getdate()
My try:
SELECT Col1 REPLACE(REPLACE(Col1,SUBSTRING(Col1,CHARINDEX('::',Col1),LENGTH(Col1)),''),'(''','''')
FROM tbl_string_pattern;
But getting output like:
Col1 Col2
------------------------------------------------------------------------
'-'::"varchar" COLLATE "default" '-'
'-1'::integer '-1'
'0'::smallint '0'
'1'::"varchar" COLLATE "default" '1'
(get_val())::"timestamp" (get_val())
0 0
0.0 0
10 0
210 0
90000 0
8 8
getdate() )
Try this: