web-dev-qa-db-fra.com

Comment convertir "chaîne" en "horodatage sans fuseau horaire"

Je suis nouveau sur Postgresql et j'utilise les services WCF.
Voici mon extrait de code:

$.ajax({
    url: '../Services/AuctionEntryServices.svc/InsertAuctionDetails',
    data: JSON.stringify({ "objAuctionEntryEntity": {
        "AuctionNO": '',          
        "AuctionDate": $('[Id$="lblAuctionDateVal"]').text(),
        "TraderID": $('[Id$="ddlTraderName"] option:selected').val(),
        "Grade": $('[Id$="ddlGrade"] option:selected').val(),
        "Varity": $('[Id$="ddlVarity"] option:selected').val(), 
        "QuntityInAuction": $('#txtQuantityForAuction').val(),
        "AuctionRate": $('#txtAuctionRate').val(),
        "BrokerID": a[0],
        "IsSold": $('#chlIsSold').is(':checked'),
        "CreatedBy": $.parseJSON(GetCookie('Admin_User_In_Mandi')).UserID,
        "UpdatedBy": $.parseJSON(GetCookie('Admin_User_In_Mandi')).UserID,
        "CreationDate": GetCurrentDate().toMSJSON(),
        "IsActive": true,
        "AuctionTransaction": arrAuctionTransaction,
        "MandiID": $.parseJSON(GetCookie('Admin_User_In_Mandi')).MandiID,
        "FarmerID": _ownerid,
        "AuctionNO": _auctionno,
        "AmmanatPattiID": _ammantpattiid,
        "ToTraderID": b[0],
        "ToTraderName": $('#txtOtherBuyerNameEN').val(),
        "ToTraderName_HI": $('#txtOtherBuyerNameHI').val()
    }
}),
    type: 'POST',
    contentType: 'application/json',
    dataType: 'json'              
});

Ici:

$('[Id$="lblAuctionDateVal"]').text() = "20/8/2013 14:52:49" 

Et mon type de données pour ce champ est timestamp without time zone.
Comment convertir cette chaîne en timestamp without time zone Type de données?

22
Aijaz Chauhan

La représentation sous forme de chaîne d'un timestamp (= _timestamp without time zone_) dépend de vos paramètres régionaux. Par conséquent, pour éviter les ambiguïtés menant à des erreurs de données ou à Postgres crachant une exception, vous avez deux options:

1.) Utilisez format ISO 8601 , qui fonctionne de la même façon avec le paramètre any locale ou DateStyle :

_'2013-08-20 14:52:49'
_

Vous devrez peut-être encore transtyper la chaîne explicitement là où le type de données n'est pas connu a priori, selon le cas d'utilisation:

_'2013-08-20 14:52:49'::timestamp
_

2.) Convertissez votre chaîne en timestamp en utilisant to_timestamp() avec un modèle de modèle correspondant:

_to_timestamp('20/8/2013 14:52:49', 'DD/MM/YYYY hh24:mi:ss')
_
35
Erwin Brandstetter

Pour convertir une chaîne en horodatage sans fuseau horaire, pour Postgresql, j'utilise ce qui précède

SELECT to_timestamp('23-11-1986 09:30:00', 'DD-MM-YYYY hh24:mi:ss')::timestamp without time zone;
16