обновить формат даты в SQL разработчике - PullRequest
1 голос
/ 16 февраля 2012

Мне нужно конвертировать формат даты в SQL Текущий формат: гггг / мм / дд-чч: мм: сс: ссс, и мне нужно преобразовать его в гггг-мм-дд чч: мм: сс CST Я действительно не знаю SQL, но провел некоторое исследование и обнаружил, что могу использовать instr, чтобы найти строку и заменить ее, однако, независимо от того, что я пытаюсь, всегда что-то не так :( Может ли кто-нибудь здесь помочь мне с этим? заранее спасибо.

Кстати, это разработчик Oracle SQL, поэтому синтаксис отличается от предыдущего ответа. Еще раз спасибо

Ответы [ 6 ]

1 голос
/ 18 февраля 2012

Большое спасибо за помощь, ребята! Я разобрал это с помощью другого пользователя, команда,

update b
set first= to_char(substr(FIRST,1,4)||'-'||substr(FIRST, 6, 2)||'-'||substr(FIRST, 9, 2)||' '||substr(FIRST, 12, 8))

Спасибо :) Mylie

1 голос
/ 16 февраля 2012

Если ваш текущий столбец хранится как varchar (который выглядит так, как будто он основан на вашем примере), вы можете преобразовать его следующим образом в datetime.

declare @date varchar(25)
set @date = '2012/02/16-09:40:30:000'

select Convert(datetime, Left(@date, 4) + '-' + 
        substring(@date, 6, 2) + '-' + 
        substring(@date, 9, 2) + ' ' + 
        substring(@date, 12, 8)) As NewDate

И результат будет 2012-02-16 09:40:30.000

На многих сайтах есть подробная информация о конвертации даты и времени:

  1. http://www.sql -server-helper.com / советы / дата-formats.aspx
  2. http://anubhavg.wordpress.com/2009/06/11/how-to-format-datetime-date-in-sql-server-2005/

Если дата хранится как дата и время, вы можете получить свой формат, выполнив:

SELECT convert(varchar, getdate(), 120)
0 голосов
/ 16 февраля 2012
declare @ds varchar(23)='2012/02/16 12:57:03:002'; --your current format
select convert(varchar(30),cast(@ds as datetime),120)+' CST' --new format you specified
0 голосов
/ 16 февраля 2012

Если дата хранится как DATETIME, вы можете преобразовать ее в строку в нужном вам формате, выполнив следующие действия:

SELECT CONVERT(VARCHAR(19),YourColumn,120)
FROM YourTable

CAST AND CONVERT

0 голосов
/ 16 февраля 2012

http://msdn.microsoft.com/en-us/library/ms187928.aspx

Если вы используете SQL Server и это поле даты, вы можете сделать:

convert(varchar,getdate(),120)

Замена getdate () на имя столбца

0 голосов
/ 16 февраля 2012

Для этого обычно используется функция CONVERT () . Третий параметр позволяет указать необходимое форматирование даты.

Если дата уже содержится в строке, сначала преобразуйте ее в тип даты, а затем преобразовайте обратно в строку в требуемом формате.

...