Попробуйте следующее:
var myDouble = myString.bridgeToObjectiveC().doubleValue
println(myDouble)
ПРИМЕЧАНИЕ
Удалено в бета-версии 5. Это больше не работает?
отсюда https://docs.microsoft.com/en-us/sql/t-sql/functions/datediff-transact-sql?view=sql-server-2017
[ 110], поэтому 14 следует указать дату начала . Посмотрите пример , потому что добавлять только 14 не имеет смысла, это должна быть дата, например
SELECT DATEDIFF(week, '2005-12-31 23:59:59.9999999', '2006-01-01 00:00:00.0000000');
Как написал svkaka в своем ответе, функция DATEDIFF
ожидает datepart, дату начала и дату окончания - тем не менее, ваш код предоставляет ему int
в качестве второго аргумента.
В таких случаях SQL Server неявно преобразует int
в DateTime
, поэтому
SELECT DATEDIFF(wk, 14, GetDate())
фактически
SELECT DATEDIFF(wk, '1900-01-15', GetDate())
, поскольку приведение 14 к DateTime приведет к этой дате .
Обратите внимание, однако, что ни один из других типов данных Дата / Время не может быть напрямую преобразован из целого.
Это основа метода, который использовался в более старых версиях SQL Server для усечения частей значения DateTime.
Например, если вы хотите обрезать временную часть в версии 2005 года, вы должны сделать это:
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) -- 0 meaning January 1st 1900
(в 2008 году вы просто приводили к date
).
Однако в более новых версиях SQL Server (на самом деле, с 2012 года введено datefromparts
и его родственные функции) эта методика больше не нужна.