Sql server MS考试中的TSQL Try_Parse vs Try_Convert(区域性代码为n/a)
我对761进行了一个“测试”测试,并看到一个问题,该问题问我,若字段的值定义不好,我可以使用什么,所以若转换失败,我需要返回NULL,并没有提到任何特定类型的数据,并且**与该区域性代码无关。只需要返回NULL,我就可以选择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 ---------
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
。