Как преобразовать DateTime в число с точностью больше дней в T-SQL?

Вот реализация в javascript:

var longestPalindromeLength = 0;
var longestPalindrome = ''

function isThisAPalidrome(word){
  var reverse = word.split('').reverse().join('')
  return word == reverse
}

function findTheLongest(word){ // takes a word of your choice
  for(var i = 0; i < word.length; i++){ // iterates over each character
    var wordMinusOneFromBeginning = word.substr(i, word.length) // for each letter, create the word minus the first char
    for(var j = wordMinusOneFromBeginning.length; j > 0; j--){ // for the length of the word minus the first char
      var wordMinusOneFromEnding = wordMinusOneFromBeginning.substr(0, j) // create a word minus the end character
      if(wordMinusOneFromEnding <= 0) // make sure the value is more that 0,
      continue // if more than zero, proced to next if statement
      if(isThisAPalidrome(wordMinusOneFromEnding)){ // check if the word minus the first character, minus the last character = a plaindorme
        if(wordMinusOneFromEnding.length > longestPalindromeLength){ // if it is
          longestPalindromeLength = wordMinusOneFromEnding.length; // save its length
          longestPalindrome = wordMinusOneFromEnding // and save the string itself
        } // exit the statement that updates the longest palidrome
      } // exit the stament that checks for a palidrome
    } // exit the loop that goes backwards and takes a letter off the ending
  } // exit the loop that goes forward and takes off the beginning letter
  return console.log('heres the longest string: ' + longestPalindrome
  + ' its ' + longestPalindromeLength + ' charachters in length'); // return the longest palidrome! :)
}
findTheLongest('bananas');

13
задан Jon Seigel 8 March 2010 в 02:09
поделиться

4 ответа

Что ж, я бы сделал это так:

select datediff(minute,'1990-1-1',datetime)

где «1990-1-1» - произвольная базовая дата-время.

22
ответ дан 1 December 2019 в 19:23
поделиться
SELECT CAST(CONVERT(datetime,'2009-06-15 23:01:00') as float)

дает 39977,9590277778

8
ответ дан 1 December 2019 в 19:23
поделиться

Преобразование в число с плавающей запятой или десятичное число вместо int / bigint.

Целая часть (перед десятичной точкой) представляет количество полных дней. После десятичной дроби указаны дни после запятой (т.е. время).

0
ответ дан 1 December 2019 в 19:23
поделиться

Используйте DateDiff для этого:

DateDiff (DatePart, @StartDate, @EndDate)

DatePart переходит от года к наносекунде.

Подробнее здесь .. http: // msdn .microsoft.com / en-us / library / ms189794.aspx

1
ответ дан 1 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: