sql >> Databáze >  >> RDS >> Sqlserver

Jak převést formát systémového data na dd/mm/rr v SQL Server 2008 R2?

   SELECT CONVERT(varchar(11),getdate(),101)  -- mm/dd/yyyy

   SELECT CONVERT(varchar(11),getdate(),103)  -- dd/mm/yyyy

Koukni na tohle . Předpokládám, že D30.SPGD30_TRACKED_ADJUSTMENT_X je datového typu datetime.
Proto používám CAST() funkce, aby to bylo jako znakový výraz, protože CHARINDEX() funguje na výrazu znaků.
Také si myslím, že není potřeba podmínka OR.

select case when CHARINDEX('-',cast(D30.SPGD30_TRACKED_ADJUSTMENT_X as varchar )) > 0 

then 'Score Calculation - '+CONVERT(VARCHAR(11), D30.SPGD30_TRACKED_ADJUSTMENT_X, 103)
end

EDIT:

select case when CHARINDEX('-',D30.SPGD30_TRACKED_ADJUSTMENT_X) > 0 
then 'Score Calculation - '+
CONVERT( VARCHAR(11), CAST(D30.SPGD30_TRACKED_ADJUSTMENT_X as DATETIME) , 103)
end

Pro převod na jiné formáty data viz tento odkaz:https://www.w3schools.com/sql /func_sqlserver_convert.asp



  1. Ukázková schémata na GitHubu

  2. Pomocí SqlDataAdapter vložit řádek

  3. chyba při změně tabulky, přidání omezení cizího klíče získání chyby Nelze přidat nebo aktualizovat podřízený řádek

  4. Jak vrátím seznam hodnot místo řetězce při dotazu na databázi Oracle pomocí XPath?