1

私はこのテーブルを持っています

ope_autoventaid                         ope_name
1532ED72-A93C-4287-9EB9-D21AB936F62F    latitud:21.06906|longitud:-89.63837|timegps:2013-08-13 01:07:27
A9B74530-4058-40D8-8AE4-6C1E8ABB4F65    latitud:21.06907|longitud:-89.63825|timegps:2013-08-13 01:08:33
AC0F60D8-5CC6-4ED1-9DED-6C25E5F15031    latitud:21.069|longitud:-89.6383|timegps:2013-08-13 01:12:52

latitudlongitudおよびを取得するにはどうすればよいtimegpsですか? 1900-01-01 の 0 および timegps にある場合もありますが、空にすることはできません。

運用サーバーでは、ストアド プロシージャ、関数、ビュー、または列/テーブルを作成することはできません。クエリを実行することしかできません。

何かをそのまま取得する方法はありますか

select ope_autoventaid, latitud, longitud, timegps 
from mytable
4

2 に答える 2

0

ストアド プロシージャなどを作成できない場合は、SUBSTRING 関数と CHARINDEX 関数を使用する以外に行うことはほとんどありません。以下のクエリは脆弱ですが、探しているものを生成します。

SELECT ope_autoventaid,
SUBSTRING(ope_name, charindex('latitud:',ope_name)+8,
                    charindex('|longitud:',ope_name)-9)
    as latitud,
SUBSTRING(ope_name, charindex('longitud:',ope_name)+9,
                    charindex('|timegps:',ope_name)-9-charindex('longitud:',ope_name))
    as longitud,
SUBSTRING(ope_name, charindex('timegps:',ope_name)+8
                  , len(ope_name)-charindex('timegps:',ope_name))
    as timegps
FROM myTable; 
于 2013-08-13T20:21:47.523 に答える