Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MS考试中的TSQL Try_Parse vs Try_Convert(区域性代码为n/a)_Sql Server_Tsql - Fatal编程技术网

Sql server MS考试中的TSQL Try_Parse vs Try_Convert(区域性代码为n/a)

Sql server MS考试中的TSQL Try_Parse vs Try_Convert(区域性代码为n/a),sql-server,tsql,Sql Server,Tsql,我对761进行了一个“测试”测试,并看到一个问题,该问题问我,若字段的值定义不好,我可以使用什么,所以若转换失败,我需要返回NULL,并没有提到任何特定类型的数据,并且**与该区域性代码无关。只需要返回NULL,我就可以选择TRY\u PARSE和TRY\u CONVERT。它们都是**如果失败,则返回空值**,所以我认为它们都是有效答案,但这是一个单选问题,本测试的正确答案是尝试解析。这背后有什么逻辑,或者这只是一个构造不好的问题。这是钻孔测试的第三方供应商。 全部发送。M ---------

我对761进行了一个“测试”测试,并看到一个问题,该问题问我,若字段的值定义不好,我可以使用什么,所以若转换失败,我需要返回NULL,并没有提到任何特定类型的数据,并且**与该区域性代码无关。只需要返回NULL,我就可以选择
TRY\u PARSE
TRY\u CONVERT
。它们都是
**如果失败,则返回空值**
,所以我认为它们都是有效答案,但这是一个单选问题,本测试的正确答案是
尝试解析
。这背后有什么逻辑,或者这只是一个构造不好的问题。这是钻孔测试的第三方供应商。
全部发送。M

-------------------------------------------------问题78

declare @FakeDate varchar(100) = '38383838', @FakeInt VARCHAR(10) = 'xyz'
SELECT try_convert(DATE, @FakeDate),try_convert(INT, @FakeInt)
SELECT try_parse(@FakeDate AS date), TRY_PARSE(@FakeInt AS INT)

(No column name)    (No column name)
NULL    NULL
(No column name)    (No column name)
NULL    NULL
根据

使用TRY_PARSE仅用于从字符串转换为日期/时间和数字 类型

如果问题中未指定数据类型,则需要选择
TRY\u CONVERT
功能。 如果要转换的类型是日期和数字,请使用
尝试解析函数。

根据

使用TRY_PARSE仅用于从字符串转换为日期/时间和数字 类型

如果问题中未指定数据类型,则需要选择
TRY\u CONVERT
功能。
如果要转换的类型是日期和数字,则使用
TRY\u PARSE
函数。

首先:
TRY\u CAST()
TRY\u convert()
TRY\u PARSE()
将在不指定区域性或格式/样式代码的情况下执行相同的操作。这将隐式地依赖于系统的设置。至少有一个日期/时间,这是一个永远不会做的事情

在您的情况下,出于以下原因,我建议
尝试\u PARSE()

  • 您希望将字符串值转换为类型化值。这个过程称为解析
  • 如果您将来知道任何详细信息,可以添加区域性/格式信息
CONVERT
CAST
是多用途函数。您可以将任何内容转换为任何内容(只要转换有效)<代码>强制转换
将使用强制转换映射来决定可以显式强制转换的内容
CONVERT
的作用大致相同,但通过样式参数提供了更多的控制。这也是反对“尝试转换”的另一个理由:

  • 在没有第三个参数的情况下,决不能转换日期

我的结论是:对我来说,正确的答案是
TRY\u PARSE
(主要是因为需要执行解析字符串的操作)。但是问题真的很糟糕,而且远离任何现实世界的场景……

首先:
TRY\u CAST()
TRY\u CONVERT()
TRY\u PARSE()
在不指定区域性或格式/样式代码的情况下也会做同样的事情。这将隐式地依赖于系统的设置。至少有一个日期/时间,这是一个永远不会做的事情

在您的情况下,出于以下原因,我建议
尝试\u PARSE()

  • 您希望将字符串值转换为类型化值。这个过程称为解析
  • 如果您将来知道任何详细信息,可以添加区域性/格式信息
CONVERT
CAST
是多用途函数。您可以将任何内容转换为任何内容(只要转换有效)<代码>强制转换
将使用强制转换映射来决定可以显式强制转换的内容
CONVERT
的作用大致相同,但通过样式参数提供了更多的控制。这也是反对“尝试转换”的另一个理由:

  • 在没有第三个参数的情况下,决不能转换日期

我的结论是:对我来说,正确的答案是
TRY\u PARSE
(主要是因为需要执行解析字符串的操作)。但是问题真的很糟糕,而且远离任何现实世界的场景…

好吧,第二个
try\u convert
尝试将
@FakeInt
转换为日期,而第二个
try\u parse
正确使用
int
,但这并不是一个在
try\u convert
try\u parse
之间选择的问题,而是一个能够识别愚蠢的打字错误的问题。。。除非你的问题一开始就错了。是的,这是一个错别字,这只是我的探索,我纠正了它。如果失败,这仍然会产生NULL,因此我假设在这个问题上没有任何理由。TXM!嗯,第二个
try\u convert
尝试将
@FakeInt
转换为日期,而第二个
try\u parse
正确地使用了
int
,但这并不是在
try\u convert
try\u parse
之间进行选择的问题,而是能够识别愚蠢的打字错误的问题。。。除非你的问题一开始就错了。是的,这是一个错别字,这只是我的探索,我纠正了它。如果失败,这仍然会产生NULL,因此我假设在这个问题上没有任何理由。TXM!问题中指定了数据类型,它们是
date
int
。问题中指定了数据类型,它们是
date
int